我有一個select語句。爲唯一鍵選擇最大日期行
SELECT x.ndc_id
,z.attr_val AS trade_name
,x.quote_price
,x.eff_dt FROM contract_ndc_brg x
LEFT JOIN ndc_attr AS z ON z.field_id = 150
where contract_num_val = (
SELECT item_name
FROM [contract]
WHERE item_id = 184
)
公告有兩行具有相同ndc_id。我想要這些結果,但每個ndc_id
只有一個結果,其中最高的爲eff_dt
。
我嘗試添加where子句:
SELECT x.ndc_id
,z.attr_val AS trade_name
,x.quote_price
,x.eff_dt FROM contract_ndc_brg x
LEFT JOIN ndc_attr AS z ON z.field_id = 150
where contract_num_val = (
SELECT item_name
FROM [contract]
WHERE item_id = 184
) and x.eff_dt = (select max(eff_dt) from contract_ndc_brg where contract_num_val = (
SELECT item_name
FROM [contract]
WHERE item_id = 184
))
我這個想通了,問題是,它返回的任何行的最大日期。
我該如何解決我在做什麼錯?
你嘗試用'GROUP BY'? – Sami
@Sami你能否詳細說明一下? –