1
我有如下表:任何清潔劑或寫替代方法SQL連接腳本
Table2
StudentNumbers ExamType
------------------------
1234 1
2343 2
3345 5
3454 1
5465 2
...
Table1
StudentNumbers ExamType ExamDate School Area Info
------------------------------------------------------------------
1234 1 0825 warren ny 0x504B03042D0
1234 1 0829 north nj 0x63D86E1FFFF
1233 2 0921 north nj 0xA001400646F
2343 1 0922 warren ny 0x01400646174
2343 1 0925 north ny 0x100100070se
...
我想編寫一個查詢得到以下結果:
StudentNumbers ExamType ExamDate School Area Info
-----------------------------------------------------------------
1234 1 0829 north nj 0x63D86E1FFFF
2343 1 0925 north ny 0x100100070se
我寫了下面的查詢:
Select t1.StudentNumbers, t1.ExamDate, t1.School, t1.Info, t1.ExamType
from Table1 as t1
Join(
Select ts.StudentNumbers, max(ts.ExamDate) as ExamDate
from Table2 as ts
Join Table1 as pl on
ts.StudentNumbers = pl.StudentNumbers where ts.ExamType = pl.ExamType
group by ts.StudentNumbers
) as t2 on t1.StudentNumbers = t2.StudentNumbers
and t1.ExamDate = t2.ExamDate
上面的查詢工作,並給我我想要的結果是最大ExamDate基於表2的特定ExamType。但是在這個聚合方法中使用多個連接的最佳方式?或者有更清潔的選擇。
嗯,我會說這是'ANSI SQL'的方式,這很好。您可能會根據您的dbms找到其他選項,但是...您不會告訴我們您使用哪一個。 –
所以你的問題不是關於連接,而是「改善」/改變你的查詢? –
btw ..你正在使用哪種DBMS? –