我有两张桌子
TableA Column1, Column2,Column3, Column4
TableB Column1, Column2,Column3, Column4
要修改的查询:
Select Column2,Column3, Column4
From TableA
如果表B中存在TableA.Column2的值,如何修改上述查询以从TableB中选择Column3?它也必须是TableB.Column1的最大值。
TableA
Column1 Column2 Column3 Column4
1 A zebra apple
2 C lion orange
3 R giraffe banana
TableB
Column1 Column2 Column3 Column4
1 Q snail rock
2 C frog stone
3 Z giraffe tree
4 C walrus limb
Result
Column2 Column3 Column4
A zebra apple
C walrus orange
R giraffe banana
可能是这样的:
Select TableA.Column2,Case When Exists(Select TableB.Column3 From Table3
Where Table2.Column = TableB.Column2 ) Then Select Table2.Column3 Where [Table2.Column1 is max value], Column4
From TableA
答案 0 :(得分:2)
如下所示:
select
a.column2
, case when b.column2 is not null then max(b.column3) else a.column3 end
, a.column4
from
tableA a
left join tableB b
on a.column2 = b.column2
group by
a.column2
, a.column3
, a.column4
, b.column2
如果这是家庭作业,如问题所示,请研究代码以了解原因以及如何运作。