Oracle 中某表有两字段UserName,Lev SELECT 'Loroe' UserName, '团长' Lev FROM DUAL
UNION ALL
SELECT 'Dance' UserName, '连长' Lev FROM DUAL
UNION ALL
SELECT 'Nanlar' UserName, '排长' Lev FROM DUAL
如何查询出 以Lev值为字段的 单条记录,如下结果:-----------------------
团长 连长 排长
Loroe Dance Nanlar
------------------------查出来的结果: 团长 连长 排长 是 字段,Loroe Dance Nanlar为值。麻烦高手们路过帮帮忙
非常非常感谢!
UNION ALL
SELECT 'Dance' UserName, '连长' Lev FROM DUAL
UNION ALL
SELECT 'Nanlar' UserName, '排长' Lev FROM DUAL
如何查询出 以Lev值为字段的 单条记录,如下结果:-----------------------
团长 连长 排长
Loroe Dance Nanlar
------------------------查出来的结果: 团长 连长 排长 是 字段,Loroe Dance Nanlar为值。麻烦高手们路过帮帮忙
非常非常感谢!
MAX(DECODE(LEV, '连长', USERNAME)) 连长,
MAX(DECODE(LEV, '排长', USERNAME)) 排长
FROM (SELECT 'Loroe' USERNAME, '团长' LEV
FROM DUAL
UNION ALL
SELECT 'Dance' USERNAME, '连长' LEV
FROM DUAL
UNION ALL
SELECT 'Nanlar' USERNAME, '排长' LEV FROM DUAL);
SELECT max(case when LEV='a' then USERNAME else null end) a,
max(case when LEV='b' then USERNAME else null end) b,
max(case when LEV='c' then USERNAME else null end) c
FROM (SELECT 'Loroe' USERNAME, 'a' LEV
FROM DUAL
UNION ALL
SELECT 'Dance' USERNAME, 'b' LEV
FROM DUAL
UNION ALL
SELECT 'Nanlar' USERNAME, 'c' LEV FROM DUAL);
(SELECT 'Loroe' FROM DUAL ) 团长,
(SELECT 'Dance' FROM DUAL ) 连长,
(SELECT 'Nanlar' from DUAL ) 排长
但是 对于不定行转列 就不行啦