如何将两个选择结果组合为列

时间:2014-08-22 09:26:05

标签: mysql sql

我想将两个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';

及其在工作台中的输出

enter image description here

在此输出中,union的结果全部在PI列中,但我希望PI,PII作为列不在行中。

请告诉我如何

我的桌子: enter image description here

1 个答案:

答案 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"。然后使用那里的数据。