2015-05-22 64 views
0

我有两个表(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 

回答

0

SELECT Fruit FROM Table B WHERE Fruit IN (SELECT Fruit FROM Table A);我不知道这是否会为你工作,但我希望它帮助。您可能需要使用子查询

+0

谢谢你的快速回复,其工作原理与GROUP_CONCAT – Samer

+0

高兴你得到它的工作 – NendoTaka

1
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 
+0

抱歉,但它没有工作,这是错误消息: 混合组列MIN(),MAX(的( ),COUNT(),...)如果没有GROUP BY子句是非法的 我试图把这个声明的结尾放在:group by a.fruit,输出不正确他们是混合 – Samer

+0

对不起,我的坏。固定。检查最后一个“GROUP BY”行 – Alex

+0

它的工作原理Alex,非常感谢:) – Samer

相关问题