我有這樣的表:案例或者如果在MySQL查詢
時間表
id data_id pattern
1 1 add_card
2 1 add_post
3 2 upd_card
4 2 upd_post
卡
id name parent
1 cname1 1
2 cname2 4
3 cname3 5
後
我需要形式的結果
**結果時間表**
id data_id pattern name parent
1 1 add_card cname1 1
2 1 add_post pname1 8
3 2 upd_card cname2 4
4 2 upd_post pname2 9
我只IF或CASE語句
SELECT id, data_id, pattern
(CASE parent
WHEN ‘add_card’ THEN (SELECT name.card,parent.card FROM card WHERE data_id.timeline = id.card)
WHEN ‘add_card’ THEN (SELECT name.post,parent.post FROM post WHERE data_id.timeline = id.post)
END)
FROM timeline
的想法,但是這是不正確的語法,這只是我的猜猜它會是什麼樣子!
是的!那它。非常感謝 –
+1。用JOIN解決方案。性能也很好。在[* SQL小提琴*](http://sqlfiddle.com/#!2/a568c/3) –
@tgies測試,並且有一刻,如何在父母http://sqlfiddle.com/的另一張桌面上查找姓名#!2/24f3b/6 –