我想将两个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';
及其在工作台中的输出
在此输出中,union的结果全部在PI列中,但我希望PI,PII作为列不在行中。
请告诉我如何
我的桌子:
答案 0 :(得分:1)
没有冒犯,但这是一个没有理解关系数据库概念的经典案例。它不像Excel或类似的东西,你只需在另一列中推送一些东西。
数据" PI"之间似乎没有联系。和" PII",所以没有任何意义和它并排#34;我也想知道,为什么你想这样做。我建议你这样做:
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"。然后使用那里的数据。