3

我的数据库中有以下两个表:

TABLE 1: Specials
---------------------------------------------
| Special ID | Special Name | Special Image |
 --------------------------------------------
|     1      |   Special 1  |     1.jpg     |   
|     2      |   Special 2  |     2.jpg     |
|     3      |   Special 3  |     3.jpg     |
---------------------------------------------

TABLE 2: Special Items
---------------------------
| Item ID | Item Name     |
---------------------------
|     1      |   Service  | 
|     2      |    Clean   |
|     3      |     Dry    |
---------------------------

从数据库中提取时,我正在寻找一种方法来实现这一点(第 4 列将是一个下拉列表):

EDIT SPECIALS (Columns 1-3: Table 1) (Column 4: All results from Table 2)
-------------------------------------------------------------------
| Special ID | Special Name | Special Image | Items               |
-------------------------------------------------------------------
|     1      |   Special 1  |     1.jpg     | Service, Clean, Dry |      
|     2      |   Special 2  |     2.jpg     | Service, Clean, Dry | 
|     3      |   Special 3  |     3.jpg     | Service, Clean, Dry |
-------------------------------------------------------------------    
4

2 回答 2

4

利用MySQL GROUP_CONCAT()能够连接行的方法。

SELECT  a.*,
        (SELECT GROUP_CONCAT(ItemName) FROM SpecialItems) ItemList
FROM    Specials a

输出

╔════════════╦══════════════╦═══════════════╦═══════════════════╗
║ SPECIAL ID ║ SPECIAL NAME ║ SPECIAL IMAGE ║     ITEMLIST      ║
╠════════════╬══════════════╬═══════════════╬═══════════════════╣
║          1 ║ Special 1    ║ 1.jpg         ║ Service,Clean,Dry ║
║          2 ║ Special 2    ║ 2.jpg         ║ Service,Clean,Dry ║
║          3 ║ Special 3    ║ 3.jpg         ║ Service,Clean,Dry ║
╚════════════╩══════════════╩═══════════════╩═══════════════════╝
于 2013-03-18T05:00:23.210 回答
1

使用GROUP_CONCATEMySQL,它将帮助您将结果与逗号分隔符结合起来。

Example

于 2013-03-18T05:01:18.363 回答