![](/img/trans.png)
[英]MYSQL store procedure replace multiple results into one parameter: Result consisted of more than one row
[英]mySQL multiple results into one result row
我有一個按產品ID存儲圖像URL的表,正在嘗試編寫一個將所有圖像結果拉到一行的查詢。 該表如下所示:
photoFlag photoName objectID
其中,photoName保存圖像的相對路徑,而photoFlag標識圖像的類型(完整,拇指等)。 我首先編寫一個快速查詢來獲取兩個圖像(帶有不同的標志)以進行上拉。 這就是我所擁有的:
select t2.pic, t4.pic, t2.id from
(select p2.photoName as pic, p2.objectID as id from ds_photos as p2 where p2.photoFlag = 2) as t2,
(select p4.photoName as pic, p4.objectID as id from ds_photos as p4 where p4.photoFlag = 4) as t4
where t2.id=t4.id
這似乎是一個正確的查詢,但是當我通過phpMyAdmin執行時,它永遠不會返回結果,並且會在“ SHOW PROCESS”列表中無限期顯示(至少約40分鍾)。 是否有我在這里看不到的錯誤導致環環相扣?
理想情況下,我只想抓取photoFlag = 2的照片(某些產品具有多張圖像)並將它們放在同一行中,但是我不知道從哪里開始。 有什么建議么?
謝謝您的幫助。
使用: GROUP_CONCAT
:
SELECT id, GROUP_CONCAT(photoName ) As pic
FROM ds_photos
WHERE (photoFlag = 2 or photoFlag = 4) and id = ?;
GROUP BY id
取代?
與您想要的ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.