mysql - 我想从 wordpress 数据库中进行选择
问题描述
数据库的结构如下:
id | meta-key | meta-value
1 | client | John
1 | bday | today
我希望它是
id | client | bday
1 | John | today
有很多行,例如 client 和 bday,我想在显示或插入另一个表时将其中一些转换为列
我试过这样的事情:
SELECT p1.meta_value, wph0_posts.post_title, p2.meta_value as client, p3.meta_value as end_date, p4.meta_value as description
FROM wph0_postmeta p1
INNER JOIN wph0_posts ON p1.post_id = wph0_posts.ID
INNER JOIN wph0_postmeta p2 ON
p1.post_id = p2.post_id AND
p2.meta_key = 'client'
INNER JOIN wph0_postmeta p3 ON
p1.post_id = p3.post_id AND
p3.meta_key = 'end_date'
INNER JOIN wph0_postmeta p4 ON
p1.post_id = p4.post_id AND
p4.meta_key = 'description';
我可以得到一些提示吗?db'es 很新
解决方案
感谢您的帮助,以下工作:
SELECT wph0_postmeta.post_id,
GROUP_CONCAT( if(wph0_postmeta.meta_key='client',wph0_postmeta.meta_value,NULL) ) AS Nume,
GROUP_CONCAT( if(wph0_postmeta.meta_key='end_date',wph0_postmeta.meta_value,NULL) ) AS Descriere
FROM wph0_postmeta GROUP BY wph0_postmeta.post_id
我只从 wph0_postmeta 中提取了名称和一些东西并使用了 if 语句。我现在可以添加另一个 group_concat 并从 meta_key 添加另一个列,我在这里获得了枢轴的链接:
推荐阅读
- r - 如何在动态计算列名并更改日期以进行比较的 for 循环中使用 mutate?
- javascript - 在 ipad vimeo 中禁用全屏
- python - 逐元素运算实际上执行矩阵运算
- javascript - React JS 中的 CSS 模块不起作用,我已经尝试了所有的方法,但没有解决
- python - QCheckBox 选中/取消选中 PyQt5 中另一个类的所有 QCheckboxes
- mongodb - Node Mongo API 中的搜索速度很慢?
- c# - 让 System.CommandLine 接受已编译的 lambda 作为处理程序
- javascript - 使用 fs 写入节点文件后重新请求节点文件
- python-3.x - matplotlib 中每个子图之间的间距不同
- flutter - Flutter web 中的异步请求-回复设计