이것은 나의 시나리오입니다. 저는 두 개의 서로 다른 테이블을 가지고 있습니다 : 테이블 '구독 정보'는 사용자 사이트 구독과 관련된 모든 정보와 구독 사이트의 제품에 대한 점수가 포함 된 '등급'테이블을 포함합니다. 단순화는 다음과 같습니다.MySQL에서 여러 쿼리의 결과를 결합한 결과 집합을 만드시겠습니까?
Subscriptions: 'id','user','place','created', etc.
Ratings: 'id','user','product','created',etc.
이제 가장 최근 10 개 항목 인 구독 또는 평가를 반환하려면 mysql이 필요합니다. 나는 '생성'으로 다차원 배열을 주문 두 결과 (20 개 요소)와
SELECT * FROM subscriptions WHERE ... ORDER BY created LIMIT 10.
과 ($ 항목에 결과를 저장하여 상위 10를 얻을 : 지금까지 해결책을 찾을 수 두 개의 서로 다른 통화를 할 수 있었다) :
두 번의 호출로 얻을 수 있고 필요한 것보다 많은 정보를 반환하기 때문에이 솔루션이 효율적이지 않다고 생각합니다. UNION 연산자를 사용하면 한 번에 여러 개의 다른 테이블을 선택할 수 있지만 같은 수의 열을 사용할 수 있다고 읽었습니다. 내 질문은 하나의 호출로 공통 필드 (내 케이스에서 작성)로 정렬 된 여러 유형의 요소 중 특정 수를 조인하는 가장 효율적인 방법은 무엇입니까? 가능하지 않니? 고마워, 어떤 도움을 주셔서 감사합니다, Jesús.
게시 maxhud하지만,뿐만 아니라'UNION'에'LIMIT'를 넣을 수 있습니다. 'ORDER BY'와 결합하면 필요한 것입니다. – Halcyon
UNION을 사용하는 쿼리는 여전히 하나의 호출입니다 ... – Braiba
이 (가) 편집되었습니다. @FritsvanCampen은 괜찮 았으면 좋겠다. op가 내 의견 – maxhud