簡體   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