我有一個SQL小提琴這裏: http://www.sqlfiddle.com/#!2/fbd48/1MySql - 使用COALESCE檢索正確的值?
的顏色應該是紅色的花和棕色的熊,但它顯示紅色兩種。
不知道是否適合COALESCE在這裏,但在接受的答案類似的東西在這裏: MySQL - Retrieve row value from different table depending on value of row in a table
我有一個SQL小提琴這裏: http://www.sqlfiddle.com/#!2/fbd48/1MySql - 使用COALESCE檢索正確的值?
的顏色應該是紅色的花和棕色的熊,但它顯示紅色兩種。
不知道是否適合COALESCE在這裏,但在接受的答案類似的東西在這裏: MySQL - Retrieve row value from different table depending on value of row in a table
SELECT mem.member_name, g.*
, coalesce(f.flower_color, b.bear_color) as color
from members mem
inner join general g on mem.member_id = g.member_id
left join flowers f on g.gift_item_id = f.flower_id AND g.gift_item = 'flower'
left join bears b on g.gift_item_id = b.bear_id AND g.gift_item = 'bear'
WHERE g.month='june'
有沒有辦法區分熊花,所以我增加了測試的連接。這非常臭。你可能會重新考慮你的模式。
看來,如果你使用獨特的禮物項ID工作。
我知道:)但ID可以在不同的表中相同,所以我正在尋找一個解決方案,將基於'花'或'熊'來區分,而不是遇到ID的問題 – Wonka 2012-04-27 18:46:19
臭臭怎麼回事?在數據庫或混亂的查詢中沉重? – Wonka 2012-04-27 18:55:02
您有在表格名稱和常規表格中編碼的禮物類型。如果你想給人一個有趣的氣球,你就有很多工作要做。帶有gift_type字段的單個禮品表可能是更好的方法。 – Andrew 2012-04-27 19:01:23