如果你的列名是固定的个数就好做,给你个例子参考:SELECT CASE WHEN 'XIYAO' = 'XIYAO' THEN 'XIYAO' END XIYAO, CASE WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN 'ZHONGYAO' END ZHONGYAO, CASE WHEN 'QITA' = 'QITA' THEN 'QITA' END QITA FROM DUAL;
SELECT decode(LXMC,'检查',JE,NULL) AS '检查',....FROM
SELECT CASE WHEN 'XIYAO' = 'XIYAO' THEN DECODE((T.JE,'NULL', 0, T.JE) END XIYAO,CASE WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN DECODE((T.JE,'NULL', 0, T.JE) END ZHONGYAO,CASE WHEN 'QITA' = 'QITA' THEN DECODE((T.JE,'NULL', 0, T.JE) END QITA FROM TABLE T;
刚才的多了个括号 SELECT CASE WHEN 'XIYAO' = 'XIYAO' THEN DECODE(T.JE, 'NULL', 0, T.JE) END XIYAO, CASE WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN DECODE(T.JE, 'NULL', 0, T.JE) END ZHONGYAO, CASE WHEN 'QITA' = 'QITA' THEN DECODE(T.JE, 'NULL', 0, T.JE) END QITA FROM DUAL T;
刚才的多了个括号 SELECT CASE WHEN 'XIYAO' = 'XIYAO' THEN DECODE(T.JE, 'NULL', 0, T.JE) END XIYAO, CASE WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN DECODE(T.JE, 'NULL', 0, T.JE) END ZHONGYAO, CASE WHEN 'QITA' = 'QITA' THEN DECODE(T.JE, 'NULL', 0, T.JE) END QITA FROM DUAL T;这样写结果是分行显示的,能把它们合成一行显示么?
这个得出来是分行显示的,像这样 bm 西药 成药 草药 治疗 检查 急诊科 106.48 急诊科 198 急诊科 46 急诊科 480能把它们合在一行里显示么? 加个sum(),然后再group by id SELECT ID,sum(decode(LXMC,'检查',JE,NULL)) AS '检查',....FROM table GROUP BY ID
这个得出来是分行显示的,像这样 bm 西药 成药 草药 治疗 检查 急诊科 106.48 急诊科 198 急诊科 46 急诊科 480能把它们合在一行里显示么? 加个sum(),然后再group by id SELECT ID,sum(decode(LXMC,'检查',JE,NULL)) AS '检查',....FROM table GROUP BY ID 非常感谢,我得出想要的结果了~
WHEN 'XIYAO' = 'XIYAO' THEN
'XIYAO'
END XIYAO,
CASE
WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN
'ZHONGYAO'
END ZHONGYAO,
CASE
WHEN 'QITA' = 'QITA' THEN
'QITA'
END QITA
FROM DUAL;
SELECT CASE
WHEN 'XIYAO' = 'XIYAO' THEN
DECODE((T.JE,'NULL', 0, T.JE)
END XIYAO,CASE
WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN
DECODE((T.JE,'NULL', 0, T.JE)
END ZHONGYAO,CASE
WHEN 'QITA' = 'QITA' THEN
DECODE((T.JE,'NULL', 0, T.JE)
END QITA FROM TABLE T;
SELECT CASE
WHEN 'XIYAO' = 'XIYAO' THEN
DECODE(T.JE, 'NULL', 0, T.JE)
END XIYAO,
CASE
WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN
DECODE(T.JE, 'NULL', 0, T.JE)
END ZHONGYAO,
CASE
WHEN 'QITA' = 'QITA' THEN
DECODE(T.JE, 'NULL', 0, T.JE)
END QITA
FROM DUAL T;
SELECT CASE
WHEN 'XIYAO' = 'XIYAO' THEN
DECODE(T.JE, 'NULL', 0, T.JE)
END XIYAO,
CASE
WHEN 'ZHONGYAO' = 'ZHONGYAO' THEN
DECODE(T.JE, 'NULL', 0, T.JE)
END ZHONGYAO,
CASE
WHEN 'QITA' = 'QITA' THEN
DECODE(T.JE, 'NULL', 0, T.JE)
END QITA
FROM DUAL T;这样写结果是分行显示的,能把它们合成一行显示么?
这个得出来是分行显示的,像这样 bm 西药 成药 草药 治疗 检查
急诊科 106.48
急诊科 198
急诊科 46
急诊科 480能把它们合在一行里显示么?
加个sum(),然后再group by id
SELECT ID,sum(decode(LXMC,'检查',JE,NULL)) AS '检查',....FROM table GROUP BY ID
这个得出来是分行显示的,像这样 bm 西药 成药 草药 治疗 检查
急诊科 106.48
急诊科 198
急诊科 46
急诊科 480能把它们合在一行里显示么?
加个sum(),然后再group by id
SELECT ID,sum(decode(LXMC,'检查',JE,NULL)) AS '检查',....FROM table GROUP BY ID
非常感谢,我得出想要的结果了~