0

我有一个表,我想根据一列的值加入不同的表,就像这样(这不起作用,但这是我的例子):

SELECT * FROM table1 JOIN (CASE WHEN table1_column1=1 THEN table2 ON table2_column1=table1_column2 END) WHERE table1_column3='hello'

总而言之,该列中将有 4 个值,调用其他表。这是可行的吗?

编辑:我想我需要澄清我所追求的。根据 table1_column1 的值,我希望 JOIN 获取特定的表和列。例如,如果 t1c1=1,它应该在 table1_column2 上加入 table2_column1。但是,如果 t1c1=2,它应该在 table1_column2 上加入 table5_column1。等等等等等等。

再次 - 这是可行的吗?如果我使用两个单独的查询,它很容易编写脚本。但是,我只想使用一个查询。

4

2 回答 2

0
SELECT * FROM 
table1 JOIN table2 ON table2_column1=table1_column2 AND table1_column1=1

UNION

 SELECT * FROM 
table1 JOIN table3 ON table2_column1=table1_column2 AND table1_column3='hello'

它可能有效

于 2012-10-11T03:06:41.047 回答
0
SELECT * FROM table1 
JOIN  table2 ON table2_column1=table1_column2 and table1_column1=1 
WHERE table1_column3='hello'
于 2012-10-11T03:06:48.790 回答