MySQL+PHP:从一个表中为另一个表的每个结果选择所有结果
我的数据库中有以下两个表:MySQL+PHP:从一个表中为另一个表的每个结果选择所有结果,php,mysql,sql,Php,Mysql,Sql,我的数据库中有以下两个表: TABLE 1: Specials --------------------------------------------- | Special ID | Special Name | Special Image | -------------------------------------------- | 1 | Special 1 | 1.jpg | | 2 | Special 2 |
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 |
-------------------------------------------------------------------
使用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 ║
╚════════════╩══════════════╩═══════════════╩═══════════════════╝
使用GROUP_CONCATE MySQL,它将帮助您将结果与逗号分隔结合起来
您还可以使用分隔符在逗号后包含空格:从SpecialItems分隔符中选择GROUP_CONCATItemName','