2013-04-11 75 views
2

我有表按本sqlFiddle: http://www.sqlfiddle.com/#!2/df04a/1如何加入mysql複選框表A和另一個表B中的複選框結果字段?

Onepiece table: 

| ID | Checkbox_IDs | 
| 1 | 1,2    | 
| 2 | 3    | 

checkbox 
| ID | Name   | 
| 1 | Luffy   | 
| 2 | Zorro   | 

請幫我查詢,我想一切從「一件式」表,而不是checkbox_id欄顯示「1,2行「或 」2,3,4「,它應該表現出什麼樣的數字鏈接上的複選框表:

Onepiece results table: 

| ID | Checkbox_IDs | 
| 1 | Luffy, Zorro | 
| 2 | Sanji   | 

回答

2
SELECT a.ID, 
     GROUP_CONCAT(b.Name) Names 
FROM OnePiece a 
     INNER JOIN CheckBoxes b 
      ON FIND_IN_SET(b.ID, a.Checkbox_ID) > 0 
GROUP BY a.ID 

輸出

╔════╦═════════════════════╗ 
║ ID ║  NAMES  ║ 
╠════╬═════════════════════╣ 
║ 7 ║ Luffy,Zorro   ║ 
║ 8 ║ Sanji    ║ 
║ 9 ║ Sanji,Chopper,Zorro ║ 
╚════╩═════════════════════╝ 
相關問題