본문 바로가기
MySql

MySQL 제한 1로 mysql 조인

by 베이스 공부 2021. 2. 2.
반응형

일대 다 관계에 두 개의 테이블이 있다고 가정합니다.

그리고 관련 테이블의 첫 번째 레코드와 함께 각 기본 레코드의 열을 선택하려고합니다.

나는 몇 가지 방법을 시도했지만 안 간다 ...

여기에서이 SQL 바이올린으로 끝납니다.


문제는 하위 선택에서 a.ID를 참조 할 수 없다는 것입니다.

물론 이것은 작동하지 않지만 내가 생각할 수있는 전부입니다.

select a.*,b.* from event a left join 
(select * from event_pictures where a.ID=article limit 1)
b on a.ID=b.article;

그것을 고치는 방법에 대한 아이디어가 있습니까?

 

해결 방법

 

아니요, a 에 결합 된 하위 선택에서 a.ID 를 참조 할 수 없습니다. 다음을 수행 할 수 있지만 주문을 제공하는 것이 좋습니다. 그렇지 않으면 "첫 번째"행이 없습니다. 테이블 b의 임의 행 A (다소 또는 적음)가 선택됩니다.

select a.*, b.* 
from event a 
  left join event_pictures b
    on b.PK =                        --- the PRIMARY KEY
       ( select bb.PK                --- of event_pictures 
         from event_pictures bb 
         where a.ID = bb.article
         ORDER BY bb.something 
         limit 1
       ) ;

 

참조 페이지 https://stackoverflow.com/questions/11885394

 

 

반응형

댓글