gpt4 book ai didi

mysql - 使用连接查询中的字段值作为列

转载 作者:行者123 更新时间:2023-11-29 00:55:36 24 4
gpt4 key购买 nike

我有两个 MySQL 表描述可以扩展到子类的数据,一个描述父类数据,另一个描述元数据字段为一对多关系。

表格中的示例行:

id   | name
-----+-----------------------
123 | Example page
999 | Another page

page_metadata 表中的示例行:

page_id | key        | value
--------+------------+----------------
123 | picture | test.jpg
123 | video | example.avi
123 | sound | sound.mp3
999 | picture | something.jpg

问题:有没有办法以这种格式获取所有这些数据?

id   | name             | picture       | video       | sound
-----+------------------+---------------+-------------+------------------
123 | Example page | test.jpg | example.avi | sound.mp3
999 | Another page | something.jpg | NULL | NULL

最佳答案

SELECT pm.page_id as id
, p.name
, max(IF(pm.key = 'picture', pm.value, null)) as picture
, max(IF(pm.key = 'video', pm.value, null)) as video
, max(IF(pm.key = 'sound', pm.value, null)) as sound
FROM page p
INNER JOIN page_metadata pm ON (p.id = pm.page_id)
GROUP BY p.id

关于mysql - 使用连接查询中的字段值作为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291783/

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