我有3张桌子。这些表是这样的:如何在同一主键上连接3个表?
表酒店
id(pk)
hotel_code
hotel_name
hotel_address
表hotel_description
id(pk)
hotel_id(fk from table hotel)
hotel_title
hotel_description
表hotel_image
id(pk)
hotel_id(fk from table hotel)
image_title
image_description
我查询加入3表是这样的:
SELECT a.hotel_code, a.hotel_name, a.address, b.hotel_title, b.hotel_description, c.image_title, c.image_url
FROM hotel a
JOIN hotel_description b ON a.id = b.hotel_id
JOIN hotel_image c ON a.id = c.hotel_id
WHERE a.hotel_code = 'IDJKT_00001'
上面运行查询的结果是这样的: http://snag.gy/nw541.jpg
它看起来双倍数据
如何解决我的问题?
谢谢
您的预期数据格式是什么? –
我不确定,我认为'b'和'c'之间缺少某些东西,请尝试将此添加到'where子句'AND b.hotel_id = c.hotel_id'? – Yazan
@Yazan,'SELECT a.hotel_code,a.hotel_name,b.hotel_title,b.hotel_description,c.image_title,c.image_url 从酒店a JOIN hotel_description b ON a.id = b.hotel_id JOIN hotel_image c ON a.id = c.hotel_id WHERE a.hotel_code ='IDJKT_00001'和b.hotel_id = c.hotel_id'。像那样?结果是一样的 –