SQL查询 - 从逗号分隔的一列中获取数据

时间:2011-10-17 16:36:57

标签: mysql sql

嗨我从使用逗号分隔的一列中获取数据时遇到问题,

我的问题是:

 Table1               
 ID | Cat          
--------
 1  | XY

 2  | ER

 3  | FF

Table2               
Id | Text | Text2 | Table1ID | Text3 | text3          
--------------------------------------------------
1  |  --  |  --   | 1,2,3    |  ---  | ---

2  |  --  |  --   | 3,1,2    |  ---  | ---

3  |  --  |  --   | 1,3,4    |  ---  | ---

我需要SELECT查询从Table1列Cat获取数据,其中Table1.ID = Table2.Table1ID,我只得到一只猫,但我需要所有来自Table2.Table1ID

这是我现在的查询:

SELECT * FROM Table2, Table1 
        WHERE Table2.Table1ID=$ID 
        AND Table2.Table1ID=Table1.Id
        AND Table2.Table1ID

我只从Table1ID获得一个数据,逗号后面的所有内容都是不可见的

请求帮助

2 个答案:

答案 0 :(得分:1)

那么,抱歉。我误解了你的解释。

可能不是更好的方式,但可能有效:

SELECT * FROM Table2 WHERE Table2.Cat Like '%$ID,%' OR Table2.Cat Like '%,$ID'

答案 1 :(得分:1)

SELECT * FROM Table2, Table1 
        WHERE Table1.Id=$ID 
        AND FIND_IN_SET(Table1.Id, Table2.Table1ID) <> 0