table SPJ(SNO,PNO,JNO,QTY)
table S(SNO,SNAME)
SNO PNO JNO QTY
---------------
S1 P2 J1 400
S2 P2 J1 300
S2 P2 J2 300
SNO SNAME
---------------
S1 Peter
S2 John
上面兩個Table
我取我有問題的部分請教
S為供貨商
P為產品
J為計畫
如要查詢供給P2產品最多供應商的名稱
由上面資料可以知道應該是S2 John供應了600為最多
請問這樣該如何達成呢
我想大概是用巢狀SELECT
但是好像怪怪的
------------------
我用了access試
SELECT MAX(TOTAL) as MAX_P2
FROM(
SELECT SUM(QTY) AS TOTAL
FROM SPJ
WHERE PNO='P2'
GROUP BY SNO
)
;
可以得到
MAX_P2
------
600
------------------
但是因為要串接SNAME與S表格的關係
我試了
SELECT SNO,MAX(TOTAL) as MAX_P2
FROM(
SELECT SNO,SUM(QTY) AS TOTAL
FROM SPJ
WHERE PNO='P2'
GROUP BY SNO
)
;
會顯示不知道SNO是什麼
SELECT G_SNO,MAX(TOTAL) as MAX_P2
FROM(
SELECT SNO AS G_SNO,SUM(QTY) AS TOTAL
FROM SPJ
WHERE PNO='P2'
GROUP BY SNO
)
;
一樣不能
目標是
SELECT SNAME
FROM S
WHERE SNO IN (
SELECT SNO
FROM(
一個有已經查到MAX(SUM(QTY))
)
);
在用SNO串的地方卡住了
思維不清晰還請大家幫忙
感謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.169.201.183