2017-03-13 2 views
0

테이블이 3 개 있습니다.관련 테이블에서 데이터를 가져 오는 쿼리

galery_images :

  • ID | int (primari key)
  • 이미지 | varchar (서버의 링크)
  • tartalom | 긴 텍스트
  • galery | int
  • 주문 |

galery : INT

  • ID를 | int (primari key)
  • 이름 | varchar
  • tartalom | LONGTEXT
이미지와

1-N 관계

galery_category :

  • ID | int (primari key)
  • 이름 | 내가 이미지를 요구하고있어 갤러리

    와 VARCHAR

N-1의 관계는, 나는 하나의 쿼리에서 모든 관련 데이터를 가져 싶습니다. 나는 모든 열, 일명, 1 개의 이미지, 1 개의 galery 및 모든 카테고리가 필요합니다.

나는 codeigniter를 사용하고 있으므로 범주를 검색하는 동안 내가 직면하고있는 것이 무엇인지 알고 싶습니다.

+0

오타 경고 : ** 갤러리 ** - 중간에 ** 두 개 ** "l"... –

+0

기본 키는 무엇입니까? –

+0

테이블 이름을 쓰는 방법과 관련하여 오타가 발생하지 않았습니다. 그리고 네가 맞다면 기본 키를 추가하는 것을 잊었습니다. – Frontrider

답변

1

galerygalerygalery_category 테이블 사이에 열을 연결되어 galery_imagesgalery 테이블과 name 사이에 열을 연결한다 가정하면, 다음 쿼리를 사용할 수 있습니다.

SELECT gi.image, gi.tartalom, gi.galery, gi.order, g.tartalom, gc.name 
FROM galery_images gi JOIN galery g ON gi.galery = g.name 
JOIN galery_category gc ON g.name = gc.name 
WHERE gi.image = ? //Other conditions 

1 - 많은 관계로 인해 동일한 이미지에 대해 여러 레코드가 반환됩니다.

+0

모든 답변, 고마워요. – Frontrider

관련 문제