我有这样的表:案例或者如果在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 –