0
我有多個銷售清單表我想選擇每個表的最高產品(較高數量值)和「驗證的產品只在其主表中銷售「從每個銷售清單表中選擇所有表的最高產品。 這是我做了什麼至今:從多個表中選擇最佳產品合併重複產品和合計數量
SELECT code_p, SUM(total)
FROM (
SELECT code_p as code_p, SUM(qty_p) as total from table1_sells_list d
INNER JOIN table1 p ON d.code_t1 = p.code_t1
WHERE valid_t3 = true
GROUP BY code_p, qty_p
-----------------------------------------------------------------------
UNION ALL
SELECT code_p, SUM(qty_p) as total from table2_sells_list a
INNER JOIN table2 c ON a.code_t2 = c.code_t2
WHERE valider_t3 = true
GROUP BY code_p, qty_p
-----------------------------------------------------------------------
UNION ALL
SELECT code_p, SUM(qty_p) as total from table2_sells_list e
INNER JOIN table3 f ON e.code_t3 = f.code_t3
WHERE valider_t3 = true
GROUP BY code_p, qty_p
) a
GROUP BY code_p, total
ORDER BY code_p, total DESC
結果是這樣的:
正如你可以看到有兩排,同樣的產品,我要做的是結合重複的行和SUM總和是這樣的:
你不想看看*表之間的銷售*嗎?此外,樣本數據有助於澄清你在做什麼。 –
只需從最後一個「GROUP BY code_p」中刪除'total'。 – klin
@klin那麼這工作得很好,但我不得不將查詢頂部的字段名稱更改爲'totat'以外的其他名稱,否則它將拋出'必須出現在GROUP BY子句中'錯誤。 謝謝 – HamzaGeeK