這是我的情況:SELECT MAX日期從多個日期
我有2個表SKU
& Disco_Dates
。
在這兩個表中都有類似的字段。
SKU.[MFG_PART_NUMBER] = Disco_Dates.[MATERIAL]
我需要知道可用的最大DATE_UPDATE每個MFG_PART_NUMBER
DISCO_DATE TABLE
+-------------+-----------------------+-----------------------+
| MATERIAL |DISCO_DATE | DATE_UPDATE |
+-------------+-----------------------+-----------------------+
|T6C25AW#ABC |NULL |2016-09-14 11:15:03.587|
|T6C25AW#ABC |2016-10-28 00:00:00.000|2016-09-21 13:45:03.591|
|T6C25AW#ABC |2016-10-31 00:00:00.000|2016-09-30 12:38:08.990|
+-------------+-----------------------+-----------------------+
SKU TABLE
+---------------+
|MFG_PART_NUMBER|
+---------------+
|T6C25AW#ABC |
|G2F32UC#ABC |
+---------------+
SQL查詢
SELECT
t1.[MFG_PART_NUMBER]
,t2.[DISCO_DATE]
,MAX (t2.[DATE_UPDATE]) as DATE_UPDATE
FROM Test.dbo.SKU t1
LEFT JOIN Test.dbo.Tbl_Disco_Dates t2
ON [MFG_PART_NUMBER] = [MATERIAL]
WHERE t1.[MFG_PART_NUMBER] = 'T6C25AW#ABC'
group by
t1.[MFG_PART_NUMBER]
,t2.[DISCO_DATE]
我現在的結果是給了我所有的3行。
這就是我需要的。
+----------------+-----------------------+-----------------------+
|MFG_PART_NUMBER |DISCO_DATE | DATE_UPDATE |
+----------------+-----------------------+-----------------------+
|T6C25AW#ABC |2016-10-31 00:00:00.000|2016-09-30 12:38:08.990|
+----------------+-----------------------+-----------------------+
在此先感謝。
非常接近理想的結果。但它使我找到了答案 選擇 T1。[MFG_PART_NUMBER] ,T2。[DISCO_DATE] ,T2。[DATE_UPDATE]作爲DATE_UPDATE FROM Test.dbo.SKU T1 LEFT JOIN Test.dbo。 Tbl_Disco_Dates T2 ON [MFG_PART_NUMBER] = [材料] 其中T1。[MFG_PART_NUMBER] = 'T6C25AW#ABC' 和T2。[DATE_UPDATE] =(SELECT MAX(T2 [DATE_UPDATE])。FROM Test.dbo.Tbl_Disco_Dates T2 ) group by t1。[MFG_PART_NUMBER] ,t2。[DISCO_DATE] ,t2。[DATE_UPDATE] –
哦,是的,我忘了MAX必須在SELECT語句中 –
如果你這樣做,它仍然需要羣組嗎? – Kris