我有以下查詢SQL查詢連接和where子句
SELECT *
FROM tbl_events AS event
LEFT JOIN tbl_business_events AS bevent
ON event.event_id = bevent.event_id
LEFT JOIN tbl_business_sector AS bsec
ON event.event_id = bsec.event_id
LEFT JOIN tbl_sectors AS sector
ON bsec.sector_id = sector.sector_id
LEFT JOIN tbl_event_location AS eloc
ON event.event_id = eloc.event_id
LEFT JOIN tbl_locations AS location
ON location.location_id = eloc.location_id
WHERE event.event_type = 1
,我用它來拉出來的我的事件列表的所有細節,這工作,但我現在要拉出事件資料圖片從另一張桌子tbl_event_images。這個表格存儲所有的事件圖像,但有一個字段叫做is_profile_picture,它確定它是否是個人資料圖片(如果圖片是個人資料圖片,值爲0,如果圖片是個人資料圖片,則爲1)
所以我嘗試了以下查詢搶事件資料圖片以及信息與下面的查詢
SELECT *
FROM tbl_events AS event
LEFT JOIN tbl_event_images AS eIMG
ON event.event_id = eIMG.event_id
LEFT JOIN tbl_business_events AS bevent
ON event.event_id = bevent.event_id
LEFT JOIN tbl_business_sector AS bsec
ON event.event_id = bsec.event_id
LEFT JOIN tbl_sectors AS sector
ON bsec.sector_id = sector.sector_id
LEFT JOIN tbl_event_location AS eloc
ON event.event_id = eloc.event_id
LEFT JOIN tbl_locations AS location
ON location.location_id = eloc.location_id
WHERE event.event_type =1
休息,但這個查詢返回一個新行每張照片的事件在該表。
,所以我又試圖另一個where子句添加到上述 AND eIMG.is_profile_picture =1
,但因爲不是每個上市有照片更不用說資料圖片上面的查詢只返回資料圖片的事件。
我怎樣才能爲每個事件返回1行,無論他們是否有個人資料圖片?如果他們這樣做,然後它會增加圖像的名字,如果它不將其設置爲NULL
感謝 盧克
只是爲了澄清:1)eIMG是包含圖片的表格,2)並非所有事件都有圖片?如果您想要連接到一個不包含匹配連接的行的表,則需要改爲使用OUTER連接。 – Alex
@Alex左連接是外連接。 –
@GoatCO對不起 - 我傾向於明確指定內部與外部,所以我沒有跟蹤。 – Alex