在這個例子中我有一個表,在子訂單下有 2 個訂單號。現在我還需要子訂單中 user_c_56 列中的資訊。
該aunr列被分配給訂單號。這是原始表和我想要的方式。


這是我的查詢:
SELECT b.order_nr,
b.user_c_56,
b.aunr,
s.a_atufe,
z.mehrfach_kz,
b.soll_dauer
FROM [hydra1].[hydadm].[v_auftrags_zusatz] z
JOIN [hydra1].[hydadm].[auftrags_bestand] b ON z.auftrag_nr = b.aunr
JOIN [hydra1].[hydadm].[auftrag_status] s ON b.auftrag_nr = s.auftrag_nr
WHERE s.eingeplant = ('M');
uj5u.com熱心網友回復:
如果我正確理解了這個問題,基于視窗函式(MAX在示例中)的方法是一個可能的選擇:
SELECT
b.order_nr,
b.user_c_56,
b.aunr,
s.a_atufe,
z.mehrfach_kz,
b.soll_dauer,
MAX(CASE WHEN b.order_nr = b.aunr THEN b.user_c_56 END)
OVER (PARTITION BY b.aunr) AS user_c_56
FROM [hydra1].[hydadm].[v_auftrags_zusatz] z
JOIN [hydra1].[hydadm].[auftrags_bestand] b ON z.auftrag_nr = b.aunr
JOIN [hydra1].[hydadm].[auftrag_status] s ON b.auftrag_nr = s.auftrag_nr
WHERE s.eingeplant = ('M')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443775.html
上一篇:Sql按多個子句分組
