這是在最近IR Project碰到的問題
範例資料表 - 人事:
編號 人名 階級
1 王小明 主管
2 張小明 主管
3 李小明 主管
4 陳小明 主管
5 李安 員工
6 張安 員工
7 王安 員工
8 陳安 員工
9 平安 員工
我們希望選出主管和員工的前兩筆資料,也就是
編號 人名 階級
1 王小明 主管
2 張小明 主管
5 李安 員工
6 張安 員工
可以利用SQL LEFT OUTER JOIN Statement來達成
解答:
SELECT ta.編號, ta.人名, ta.階級
FROM 人事 AS ta
LEFT OUTER JOIN 人事 AS tb
ON ta.階級 = tb.階級 AND ta.編號 <= tb.編號
GROUP BY ta.階級, ta.編號, ta.人名
HAVING COUNT(1) < 2
ORDER BY ta.階級, ta.編號
2008年1月21日星期一
訂閱:
張貼意見 (Atom)
0 意見:
張貼意見