gpt4 book ai didi

mysql - 数据以行到列的形式呈现

转载 作者:行者123 更新时间:2023-11-29 03:39:43 26 4
gpt4 key购买 nike

我有一个场景,其中,我有一个包含记录的表:

AppNo   Location    Department  Code
1 NY XYZ 1
1 NY ABC 2
1 NY PQR 3
2 TX XYZ 1
2 TX ABC 2

可以有多行(最多 5 行)具有相同的 AppNo 和 Location,但具有不同的 Department 和 Code 值。

我们需要一个以下列方式获取数据的存储过程:

AppNo   Location    Department  Code    Location    Department  Code    Location    Department  Code    Location    Department  Code    Location    Department  Code
1 NY XYZ 1 NY ABC 2 NY PQR 3
2 TX XYZ 1 TX ABC 2

基本上,对于每个 AppNo,我们需要在一行中重复列的数据。

请建议我一些实现此目的的方法。

提前致谢,克里希纳

最佳答案

MySQL 中没有 PIVOT 命令,但有解决方法 - Pivot table basics: rows to columns... , MySQL pivot tables (transform rows to columns) .

对于你的情况,你可以使用这样的东西 -

SELECT AppNo,
MAX(IF(code = 1, Location, NULL)) Location,
MAX(IF(code = 1, Department, NULL)) Department,
1 Code1,
MAX(IF(code = 2, Location, NULL)) Location,
MAX(IF(code = 2, Department, NULL)) Department,
2 Code2,
MAX(IF(code = 3, Location, NULL)) Location,
MAX(IF(code = 3, Department, NULL)) Department,
3 Code3,
MAX(IF(code = 4, Location, NULL)) Location,
MAX(IF(code = 4, Department, NULL)) Department,
4 Code4,
MAX(IF(code = 5, Location, NULL)) Location,
MAX(IF(code = 5, Department, NULL)) Department,
5 Code5
FROM <table name>
GROUP BY AppNo

附言您可以从存储的例程运行此查询。

关于mysql - 数据以行到列的形式呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15757207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com