看板 Database 關於我們 聯絡資訊
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