我有这张桌子

ID   ref   meta   value

5    134   year   2000
5    156   type   new
5    187   order   3
5    199   color  red


我想要它回来

ID   year  type

5    2000  new


我正在尝试与

CASE WHEN itm.meta_key = 'year' THEN itm.value END as year,
CASE WHEN itm.meta_key = 'type' THEN itm.value END as type


但仅检查在DDBB中找到的第一个“元”。
我该怎么办?

最佳答案

您可以使用条件聚合:

SELECT id,
       MAX(CASE WHEN itm.meta_key = 'year' THEN itm.value END) as year,
       MAX(CASE WHEN itm.meta_key = 'type' THEN itm.value END) as type
FROM itm
GROUP BY id;

关于mysql - 从同一引用中选择两个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59431340/

10-13 00:47