gpt4 book ai didi

mysql - 如何将多行合并为一行

转载 作者:行者123 更新时间:2023-11-29 07:39:16 24 4
gpt4 key购买 nike

我想将多行合并为一行。表 type 是动态的

餐 table 室

room_id | room_name
-------------------
1 | room_A
2 | room_B
3 | room_C

表格类型

type_id | type_name
-------------------
1 | type_I
2 | type_II
3 | type_II
4 | type_IV

表价

price_id | room_id | type_id | price
------------------------------------
1 | 1 | 1 | 100
2 | 1 | 2 | 150
3 | 1 | 3 | 200
4 | 1 | 4 | 250
5 | 2 | 1 | 100
6 | 2 | 2 | 200
7 | 2 | 3 | 300
8 | 2 | 4 | 400
9 | 3 | 1 | 150
10 | 3 | 2 | 250
11 | 3 | 3 | 350
12 | 3 | 4 | 450

我想要的是这样的

       |                   price
room |---------------------------------------
| type_I | type_II | type_III | type_IV
-----------------------------------------------
room_A | 100 | 150 | 200 | 250
room_B | 100 | 200 | 300 | 400
room_C | 150 | 250 | 350 | 450

最佳答案

试试这个查询,希望这对你有帮助:

SELECT TR.Room_Name
,MAX(CASE WHEN P.Type_ID=1 THEN Price END)type_I
,MAX(CASE WHEN P.Type_ID=2 THEN Price END)type_II
,MAX(CASE WHEN P.Type_ID=3 THEN Price END)type_III
,MAX(CASE WHEN P.Type_ID=4 THEN Price END)type_IV
FROM TABLE_PRICE P
INNER JOIN TABLE_ROOM TR ON TR.Room_ID=P.Room_ID
INNER JOIN TABLE_TYPE TT ON TT.Type_ID=P.Type_ID
GROUP BY TR.Room_Name

关于mysql - 如何将多行合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47277383/

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