我有两个表(A,B),B表有一列水果它将表A行的id值存储为数组,我怎样才能输出 IN ONE SELECT语句标题表B中每个ID的,这样的:
根据表A中的数组值选择多行B
Table B :
id title
1 Apple
2 Orange
Table A :
id Fruit
1 1,2
结果:
A.id A.Fruit
1 Apple,Orange
我有两个表(A,B),B表有一列水果它将表A行的id值存储为数组,我怎样才能输出 IN ONE SELECT语句标题表B中每个ID的,这样的:
根据表A中的数组值选择多行B
Table B :
id title
1 Apple
2 Orange
Table A :
id Fruit
1 1,2
结果:
A.id A.Fruit
1 Apple,Orange
SELECT Fruit FROM Table B WHERE Fruit IN (SELECT Fruit FROM Table A);
我不知道这是否会为你工作,但我希望它帮助。您可能需要使用子查询。
SELECT a.id, GROUP_CONCAT(b.title)
FROm tableA a
LEFT JOIN tableB b
ON FIND_IN_SET(b.id , a.Fruit)
GROUP BY a.id
谢谢你的快速回复,其工作原理与GROUP_CONCAT – Samer
高兴你得到它的工作 – NendoTaka