我想将两个select语句结果合并为列结构,而不是行。但我没有得到我的结果。请告诉我如何在mysql中实现这种结果。
我的代码:
SELECT concat(ClassName,'/',Sub1) as PI
from timetable
where P1='AKS' and day='Mon'
union all
select concat(ClassName,'/',Sub2) as PII
from timetable
where P2='AKS' and day='Mon';及其在工作台中的输出

在这个联合的输出结果中,都在PI列中,但是我想要PI,PII作为列,而不是一行。
请告诉我怎么做
我的桌子:

发布于 2014-08-22 09:33:20
无意冒犯,但这是不理解关系数据库概念的经典案例。它不像Excel或类似的东西,您只需在另一列中推送一些东西。
数据"PI“和"PII”之间似乎没有任何联系,因此“并排”没有任何意义。我也想知道,你为什么想要这样。我建议你这样做:
SELECT 'PI' AS where_the_data_is_coming_from, concat(ClassName,'/',Sub1) as P_columns
from timetable
where P1='AKS' and day='Mon'
union all
select 'PII', concat(ClassName,'/',Sub2)
from timetable
where P2='AKS' and day='Mon';如果数据属于"PI“或"PII”,则包含一个字符串,该字符串将在结果中告诉您。然后处理那里的数据。
https://stackoverflow.com/questions/25443707
复制相似问题