繁体   English   中英

mysql select 值作为来自另一个表的列

[英]mysql select values as column from another table

很难给这个问题起标题,但通过显示表的结构更容易理解:

下面有2个表:

表一:

idA(整数) 标签(json)
1001 [1, 3]
1002 [3, 2]

表 B:

idB(整数) 名称(字符串)
1个 苹果
2个 橘子
3个 草莓
... ...

需要输出:

idA 苹果 橘子 草莓
1001 1个 0 1个
1002 0 1个 1个

如何使用 mysql 查询得到这个?

select 
    a.idA,
    SUM(CASE b.name WHEN 'apple' THEN 1 ELSE 0 END)  apple,
    SUM(CASE b.name WHEN 'orange' THEN 1 ELSE 0 END)  orange,
    SUM(CASE b.name WHEN 'strawberry' THEN 1 ELSE 0 END)  strawberry
from a 
left join b on  FIND_IN_SET(b.idB,a.label)
group by    a.idA
  • 我的mysql版本低,没有json类型。 我希望这能帮到您!

尝试同时从两个表中进行选择,因为您无法加入它们 - select t1.*, t2.* from table1 t1, table2 t2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM