두 개의 테이블이 있다고합시다. 하나는 항목 목록을 포함하고 다른 하나는 항목 그림을 포함합니다. 이 같은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
'CONCAT'을 사용할 수 있습니다. 예 :'GROUP_CONCAT (CONCAT ('img ', p.id,'.png ') SEPARATOR', ')'. – Alec