Gridview sqldatasource的查询
在我的asp.net+vb+SQLWeb中。我有一个查询,模式在 我目前正在使用:Gridview sqldatasource的查询,sql,sql-server,Sql,Sql Server,在我的asp.net+vb+SQLWeb中。我有一个查询,模式在 我目前正在使用: with T1 as ( SELECT KNO, Pl, case when KDPR in (4,5) then 'Jr Supdt' when KDPR >= 6 then 'Others' else '?' end as rank, Status from STAFF ) SELECT Pl, rank, Held= (Present+AL
with T1 as (
SELECT KNO, Pl, case when KDPR in (4,5) then 'Jr Supdt'
when KDPR >= 6 then 'Others' else '?' end as rank,
Status
from STAFF
)
SELECT Pl, rank, Held= (Present+AL+CL), Present, AL, CL
from T1 pivot (Count(KNO) for Status in (Present, AL, CL)) as P
order by Pl desc, rank desc;
产生:
| PL | RANK | HELD | PRESENT | AL | CL |
|------|----------|------|---------|----|----|
| SN | Others | 1 | 0 | 0 | 1 |
| SN | Jr Supdt | 2 | 1 | 1 | 0 |
| SH | Others | 1 | 0 | 0 | 1 |
| SH | Jr Supdt | 1 | 0 | 1 | 0 |
| Offr | ? | 3 | 2 | 1 | 0 |
| HS | Others | 1 | 0 | 1 | 0 |
| HS | Jr Supdt | 1 | 1 | 0 | 0 |
|PL |等级|保持|现在| AL | CL|
|------|----------|------|---------|----|----|
|SN |其他| 1 | 0 | 0 | 1|
|SN | Jr Supdt | 2 | 1 | 1 | 0|
|SH |其他| 1 | 0 | 0 | 1|
|SH | Jr Supdt | 1 | 0 | 1 | 0|
|主任|?|3 | 2 | 1 | 0 |
|HS |其他| 1 | 0 | 1 | 0|
|HS | Jr Supdt | 1 | 1 | 0 | 0|
我想问两个不同的问题
with T1 as (
SELECT KNO, Pl, case
when KDPR in (1,2,3) then 'Offr Engr'
when KDPR in (4,5) then 'Jr Supdt'
when KDPR >= 6 then 'Others' else '?' end as rank,
Status
from STAFF
)
SELECT Pl, rank, Held= (Present+AL+CL), Present, AL, CL
from T1 pivot (Count(KNO) for Status in (Present, AL, CL)) as P
WHERE rank <> 'Offr Engr'
order by Pl desc, rank desc;
以上问题的答案是关于问题2:据我所知,您希望在
rank
列上定制订单。您能详细说明您的要求吗。
with T1 as (
SELECT KNO, Pl, case
when KDPR in (1,2,3) then 'Offr Engr'
when KDPR in (4,5) then 'Jr Supdt'
when KDPR >= 6 then 'Others' else '?' end as rank,
Status
from STAFF
)
SELECT Pl, rank, Held= (Present+AL+CL), Present, AL, CL
from T1 pivot (Count(KNO) for Status in (Present, AL, CL)) as P
order by
CASE rank WHEN 'Offr Engr' THEN 1
WHEN 'Jr Supdt' THEN 2
WHEN 'Others' THEN 3 END;