select SNAME
from S,(
select S#,P#
from SPJ
where P# = 'P2'
group by S#,P#
having count(*) = (
select max(cnt)
from (
select S#,P#,count(*) as cnt
from SPJ
where P# = 'P2'
group by S#,P#
)
)
) T
where S.S# = T.S#
※ 引述《thanksgive (乾溫)》之銘言:
: 有四張關聯分別為,
: S(S#,SANME)
: P(P#,PNAME)
: J(J#,JNAME)
: SPJ(S#,P#,J#,QTY)
: 題目要找出: 供應零件代號P2最多的供應商名字?
: 解答很明顯寫錯了,
: 可是正確的我也想不出來 :(
: 以下是我自己寫的,這樣對嗎?
: 感覺寫得好冗長,也不知道對不對...
: 為節省空間+使容易了解下面的這段會替換最下面的查詢
: _____________________________________
: [select S.S# as sno, S.SNAME as name, SUM(SPJ.QTY) as T
: from S, SPJ
: where S.S#=SPJ.S# and
: SPJ.p#='p2'
: group by S.S#, S.SNAME] as TAB*
: ______________________________________
: select name
: from TAB1
: where T =
: (select MAX(T)
: from TAB2
: )
: 請大家替我解惑
: 謝謝 :))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.196.175