本文介绍了有条件地加入mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个表id1,id2,type. type是包含另一个表名称的枚举值. 我想使用表type的名称来执行join. 例如:
I have a table id1, id2, type. type is an enumerated value containing a name of another table. I'd like to preform a join with the name of the table of type. For example:
switch($type) case 'table1': join table1; break; case 'table2': join table2; break;我该如何实现?
推荐答案您不能直接那样做...尽管您可以做这样的事情(不是很漂亮...):
You can't do it directly like that... you can do something like this though (not very pretty...):
SELECT t.id, t.type, t2.id AS id2, t3.id AS id3 FROM t LEFT JOIN t2 ON t2.id = t.id AND t.type = 't2' LEFT JOIN t3 ON t3.id = t.id AND t.type = 't3'更多推荐
有条件地加入mysql
发布评论