※ 引述《yuchia69 (最愛 梁靜茹 ^^)》之銘言:
: 各位大大你好 我用SQL2000 SP4
: (在DB上 我的權限只能query)
: 我有2個table a(課碼a1,課名a2)
: b(課碼b1,學號b2,分數b3)
: 我要如何同時算出 修課人數 和 及格人數
: 我的寫法是
: select a.a2, count(*) as '修課人數', count(*) as '及格人數'
: from a,b
: where a.a1=b.b1
: group by a.a1
: order by a.a1
: 可是b.b3>=60 不知道要寫在哪邊 才能算出及格人數
b join 兩次吧
大概是 select a, count(bAll.id), count(bPass.id)
from a
inner join b bAll
where bAll.b1 = a.a1
left join b bPass
where bPass.id = bAll.id
and bPass.b3 >= 60
group by a.a1
也可以用 case 之類的做法, 留給你自己想吧
(我不熟 sql server, 回文只是根據一般的 dbms/sql)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.218.221.177
※ 編輯: adrianshum 來自: 203.218.221.177 (10/27 02:03)
※ 編輯: adrianshum 來自: 203.218.221.177 (10/27 02:06)