您可以使用FIND_IN_SET做JOIN,或者您也可以加入對整數表,並使用與SUBSTRING_INDEX從CSV字符串
通常得到的值在數據庫中的逗號分隔列表設計不佳的標誌。最好將它們拆分到另一個表格中,逗號分隔列表中的每個項目都有一行。
編輯 - 如何使用整數的一個表來做到這一點實施例: -
SELECT name,id
FROM users a
INNER JOIN (SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(concat(Connection, ','), ',', aCnt), ',', -1) AS aConnection
FROM Connections
CROSS JOIN (
SELECT a.i+b.i*10+c.i*100 + 1 AS aCnt
FROM integers a, integers b, integers c) Sub1
WHERE (LENGTH(Connection) + 1 - LENGTH(REPLACE(Connection, ',', ''))) >= aCnt) Sub2
ON a.username = Sub2.aConnection
這依賴於一個表中調用整數與稱爲I單個列,10行具有值0到9。你可以交叉加入本身以獲得一系列數字。在這種情況下,從0到999,然後受限於您正在分割的字段中的逗號數。然後使用該值查找SUBSTRING_INDEX的逗號以分割字符串。
這是所有非常基本的東西 - 你有沒有試圖自己做任何事情? – 2013-03-21 09:17:44
將字符串與數組分開是在php中使用[explode](http://php.net/manual/en/function.explode.php)完成的。 – 2013-03-21 09:18:14
它基本上是信息的選擇,所有連接部分我卡在 – user2184018 2013-03-21 09:21:30