使用 SQL Server 2000
表1
ID date value
001 23/01/2012 100
002 25/02/2012 200
....
表2
Id date value
001 01/01/2012 200
001 02/01/2012 100
...
001 23/02/2012 200
...
001 31/03/2012 100
002 ....
.....
我想选择table2的值,如果id和日期与table1匹配,那么值将从table1显示
ID 日期值
001 01/01/2012 200
001 02/01/2012 100
...
001 23/02/2012 100 'matching id and date from table1
...
001 31/03/2012 100
002 ....
.....
如何做到这一点。
需要查询帮助
预期输出
最佳答案
SELECT DISTINCT Table2.ID, Table2.date,
CASE
WHEN Table1.ID = Table2.ID
AND Table1.date = Table2.date THEN Table1.value
ELSE Table2.value
END
FROM Table1, Table2
编辑
SELECT n_t.n_ID,
n_t.n_date,
n_t.n_value
FROM
(SELECT Table2.ID AS n_ID,
Table2.date AS n_date,
CASE
WHEN Table1.ID = Table2.ID THEN CASE
WHEN Table1.date = Table2.date THEN Table1.value
ELSE Table2.value
END
END AS n_value
FROM Table1,
Table2) AS n_t
WHERE n_t.n_value IS NOT NULL
关于sql - 如何显示带有条件的2个表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10829739/