2
我想用一個基於連接表的值的查詢來查詢幾個表。MySQL - 基於if null和join的高級查詢
SELECT a.id,a.name,
IFNULL(b.imageurl, 'default image url') AS 'imageurl',
IFNULL(b.imagecategory, '34') AS 'imagecategory',
IFNULL(b.imagetype, 't') AS 'imagetype'
FROM summary a
LEFT JOIN images i ON a.id = b.id
WHERE b.imagetype = 'thumbnail' AND b.imagecategory = '99'
表'a',是主表,由關於對象的各種信息組成。
表'b'由每個對象的多個圖像URL組成,這些都使用'imagetype'和'imagecategory'進行過濾,以便僅爲每個對象匹配一個圖像。
兩個表的連接只有在表'b'具有匹配的id,imagetype和imagecategory時纔有效。如果不是,只有表格'a'中的記錄被返回,這不是我想要的。我希望table'b'返回使用IFNULL函數設置的默認值,所以即使此表缺少鏈接的id:s的值,我也會得到完整的結果集。
我該怎麼做?
謝謝你,這個伎倆!我試了一切,除了在連接中添加WHERE子句! – Chris 2011-12-27 13:46:41