我对SQL查询有一些小问题.我必须从多个表中选择数据,如:
优惠:
| id | offer | info
| 1 | City break | information
Run Code Online (Sandbox Code Playgroud)
图片:
| id | id_offer | picture_name | title
| 1 | 1 | bucharest.jpg | Bucharest
| 2 | 1 | london.jpg | London
Run Code Online (Sandbox Code Playgroud)
sql查询:
SELECT offers.* as t1, pictures.* as t2
FROM offers
JOIN t2 ON t1.id=t2.id_offer
WHERE t1.id = '1'
Run Code Online (Sandbox Code Playgroud)
代码要大得多,但我不明白如何将结果从t2包装到数组中.因为返回的数组的长度是由图片表格t2做出的.这将返回一个包含2个对象的数组.
可以在数组中返回一个包含两个图片的对象吗?
Qua*_*noi 22
MySQL 不支持数组数据类型.
您可以返回以逗号分隔的值列表:
SELECT o.*, GROUP_CONCAT(picture_name ORDER BY p.id)
FROM offers o
JOIN pictures p
ON p.id_offer = o.id
GROUP BY
o.id
Run Code Online (Sandbox Code Playgroud)
mysql中不存在数组.但您可以使用GROUP_CONCAT以逗号分隔列表返回所有图像
SELECT offers.*, GROUP_CONCAT(t2.picture_name) AS pictures
FROM offers AS t1
JOIN pictures AS t2 ON t1.id=t2.id_offer
WHERE t1.id = '1'
GROUP BY t1.id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18741 次 |
| 最近记录: |