我有两个表,我想从两个表中获取数据。 TABLE_1
ID Name
1 Test11
2 Test22
3 Test33
4 Test44
5 Test55
6 Test66
TABLE_2
ID Class Price
1 X1 10
6 X1 20
4 X1 30
6 X3 20
1 X2 10
2 X2 10
我希望左表中的所有行都带有Class name
结果
if Class='X1'
ID Name Class Price
1 Test11 X1 10
2 Test22 X1
3 Test33 X1
4 Test44 X1 30
5 Test55 X1
6 Test66 X1 20
我正在使用SQL Server 2008。
答案 0 :(得分:0)
您可以使用简单的LEFT JOIN
来实现此目的。您只需在X1
声明中指定Class
作为SELECT
。
SELECT
t1.*,
Class = 'X1',
t2.Price
FROM Table_1 t1
LEFT JOIN Table_2 t2
ON t2.ID = t1.ID
AND t2.Class = 'X1'
<强> RESULT 强>
ID Name Class Price
----------- ---------- ----- -----------
1 Test11 X1 10
2 Test22 X1 NULL
3 Test33 X1 NULL
4 Test44 X1 30
5 Test55 X1 NULL
6 Test66 X1 20