SELECT * FROM table1 LEFT JOIN table1.value AS table2

时间:2014-03-02 17:00:45

标签: mysql sql select left-join

我有这样的数据库:

表1:

  • ID
  • id_item
  • table(enum:'table2','table3','table4')

表2:

  • ID

表3:

  • ID

表4: [...]

我想运行这样的查询:

SELECT t1.id, t2.value FROM table1 AS t1
LEFT JOIN table1.table as t2 ON t1.id_item=t2.id

有可能吗?或者我必须选择第一个table1并在值之后? (抱歉我的坏英雄:))

1 个答案:

答案 0 :(得分:0)

如果我正确理解表1中的最后一列并且它只是一个字符串,那么你就不能。

你不能在FORM - clausal中写一个列,并等待mysql为每一行评估它,并找到正确的表来加入它。

要执行此操作,您需要创建一个视图,其中您将获得所有表中的数据以及表名作为附加列。之后,您可以执行Table1和新视图之间的连接