我写的测试,是你想要的create table test( timer datetime, username varchar(25), isgood bit, isbad bit )insert into test values(getdate(),'aaa',0,1) insert into test values(getdate(),'aaa',1,0)select * from test select t.timer,t.username,case when 1 in (select isgood from test where timer =t.timer and username = t.username) then 1 end as isgood, case when 1 in (select isbad from test where timer =t.timer and username = t.username) then 1 end as isbad from test t
select 时间,姓名,sum(满意) ,sum(不满意) from biao group by 时间,姓名
我把问题补充下 其中 满意 不满意 是列值 我已经把列值变为行值 如何让他们变为一行啊 谢谢了 SELECT CASE C.REASON_VALUE WHEN '1' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS VERY, CASE C.REASON_VALUE WHEN '2' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS WITHS, CASE C.REASON_VALUE WHEN '3' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS GENER, CASE C.REASON_VALUE WHEN '4' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS NOTS, CASE C.REASON_VALUE WHEN '5' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS EVALU FROM T_TB_CUSTOMER_SATISFACTION A,T_TB_EMPLOYEE B,T_TB_REASON_DESCRIPTION C WHERE B.EMPLOYEE_ID=A.EMPLOYEE_ID AND C.REASON_VALUE=A.RESULT AND C.[TYPE]='Satisfaction' GROUP BY B.PARAMETER_FIRSTNAME, C.REASON_VALUE ,A.TERMINAL_ID
timer datetime,
username varchar(25),
isgood bit,
isbad bit
)insert into test values(getdate(),'aaa',0,1)
insert into test values(getdate(),'aaa',1,0)select * from test
select t.timer,t.username,case when 1 in (select isgood from test where timer =t.timer and username = t.username) then 1 end as isgood,
case when 1 in (select isbad from test where timer =t.timer and username = t.username) then 1 end as isbad
from test t
from biao
group by 时间,姓名
其中 满意 不满意
是列值 我已经把列值变为行值 如何让他们变为一行啊 谢谢了
SELECT
CASE C.REASON_VALUE WHEN '1' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS VERY,
CASE C.REASON_VALUE WHEN '2' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS WITHS,
CASE C.REASON_VALUE WHEN '3' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS GENER,
CASE C.REASON_VALUE WHEN '4' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS NOTS,
CASE C.REASON_VALUE WHEN '5' THEN SUM(CONVERT(int,RESULT)) ELSE 0 END AS EVALU
FROM T_TB_CUSTOMER_SATISFACTION A,T_TB_EMPLOYEE B,T_TB_REASON_DESCRIPTION C
WHERE B.EMPLOYEE_ID=A.EMPLOYEE_ID AND C.REASON_VALUE=A.RESULT AND
C.[TYPE]='Satisfaction'
GROUP BY B.PARAMETER_FIRSTNAME,
C.REASON_VALUE ,A.TERMINAL_ID