假設我有兩個表格。一個包含項目列表,一個包含項目的圖片。MySQL,在單個查詢中將一個項目連接到多個項目
事情是這樣的:
項目
+----+---------+
| id | name |
+----+---------+
| 1 | oranges |
| 2 | apples |
+----+---------+
圖片
+----+---------+
| id | item_id |
+----+---------+
| 1 | 1 |
| 2 | 2 |
| 3 | 2 |
+----+---------+
我的問題是:是否有可能在一個單一的查詢,以便從Items
選擇項目2
並加入中的所有行表的item_id
引用相同的ID?
我相信我已經嘗試了幾乎所有我能想到的東西,但是沒有什麼可以想到的。我很抱歉,如果答案很簡單,但現在只是逃避我。
編輯
@Andomar,這樣的作品,但它並不完全給我我想要的結果。我想我應該更清楚,問的是有可能得到的是類似這樣的結果(這是一個PHP數組,但該組織是我後):
$results = array(
[0] => array(
'id' => 1,
'name' => 'oranges',
'images' => array(
[0] => ...,
),
),
[1] => array(
'id' => 2,
'name' => 'apples',
'images' => array(
[0] => ...,
[1] => ...,
),
),
);
我編輯了這個問題,但您的查詢似乎非常接近我正在尋找的內容。這並不是原始問題的一部分,但我想知道是否有一種方法可以像'(p.name +「。」+ p.extension)'這樣在'GROUP_CONCAT'語句中執行某些操作'以最終結束像'img1.png,img2.png'這樣的結果? – bschaeffer 2010-05-19 02:36:14
您可以使用'CONCAT',例如:'GROUP_CONCAT(CONCAT('img',p.id,'.png')SEPARATOR',')'。 – Alec 2010-05-19 09:55:12