我想将两个选择语句结果组合为列结构而不是行。 但我没有得到我的结果。 请告诉我如何在 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 作为列而不是在行中。
请告诉我怎么做
我的 table :
最佳答案
无意冒犯,但这是不理解关系数据库概念的典型案例。它不像 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”。然后使用那里的数据。
关于mysql - 如何将两个选择结果合并为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443707/