【发布时间】:2020-06-22 18:44:21
【问题描述】:
我正在尝试创建一个查询,其中数据基本上水平显示而不是垂直显示。我相信它被称为旋转(我对此有点陌生)。考虑以下: 我可以查询一个学生的地址,他们会这样显示
ID Email
27 jd@yahoo.com
27 johndoe47@gmail.com
27 MrDoe@hotmail.com
我宁愿数据水平显示,比如
ID Email1 Email2 Email3
27 jd@yahoo.com johndoe47@gmail.com MrDoe@hotmail.com
我已经通过下面的查询为一个人完成了这项工作。
SELECT Id,
MAX(CASE WHEN rownum =1 THEN B.EMAIL_ADDRESS END) AS "Email1",
MAX(CASE WHEN rownum =2 THEN B.EMAIL_ADDRESS END) AS "Email2",
MAX(CASE WHEN rownum =3 THEN B.EMAIL_ADDRESS END) AS "Email3",
MAX(CASE WHEN rownum =4 THEN B.EMAIL_ADDRESS END) AS "Email4"
FROM MyTable B
where B.Id in (21538)
group by B.Id
这适用于一个人,主要是因为我使用的是 rownum。在此示例中,Entry4 列下的值将为空。我知道我很接近,但我不确定如何让它为多个学生工作并停止使用 rownum。 对此的任何帮助将不胜感激。提前致谢
【问题讨论】: