![](/img/trans.png)
[英]mysql :How to select two different column values from a single table using two different values of another table
[英]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
尝试同时从两个表中进行选择,因为您无法加入它们 - select t1.*, t2.* from table1 t1, table2 t2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.