SQL查找多列中的一列

时间:2015-01-16 21:31:23

标签: sql

我有一些线索如何做到这一点,但我想以最有效的方式反弹想法并做到这一点。 我想将Table1与Table2连接,并从Table2获取Amount。 Table1中的键可能/可能不在表2中的4列中的一列或多列中找到。 请记住,在实际用例中,Table1和Table2是用于获取所需数据的子查询,因此我希望尽可能减少整体查询的复杂性。 忽略下面示例数据中的点,我只是将它们对齐以对齐值。

表1具有以下内容:
Col1中
一个
b
ç
d
Ë
f

表2具有以下内容:
Col1 Col2 Col3 Col4金额
一个.................................... 5.00
b .................. b ............... 20.00
...........Ç...............Ç....... 35.00
.................... d ............... 15.00
e ......... e ....... e ............... 22.00

结果:
Col1金额
一个......... 5.00
b ........ 20.00
ç........ 35.00
d ........ 15.00
Ë........ 22.00
f ......... NULL

1 个答案:

答案 0 :(得分:1)

鉴于您的数据,以下内容应该有效:

select t1.col1, t2.amount
from table1 t1 left join
     table2
     on t1.col1 = coalesce(col1, col2, col3, col4, col5) ;

这是标准的SQL,因此几乎可以在任何数据库中使用。