반응형
UNION을 사용하여 여러 테이블에서 조건에 따라 테이블을 선택하시겠습니까?
다음 네 개의 테이블이 있습니다.
제품
이드 | 제품 | 구성 단위 | 콴티테 | 날짜_S |
---|---|---|---|---|
1 | 토라다55 | 904 | 32 | 08/06/2022 |
2 | 테스카 | 560 EHRS | 44 | 08/06/2022 |
3 | 쉘라 | 905 | 56 | 08/06/2022 |
4 | 테스카 | 701 | 12 | 08/06/2022 |
5 | 테스카 | BNA | 45 | 08/06/2022 |
에어로
이드 | 구성 단위 | 지역 | 나누기 |
---|---|---|---|
12 | 560 EHRS | FMC | DNB |
14 | 428 EHAC | FMO | DTM |
공동체
이드 | 구성 단위 | 지역 | 나누기 |
---|---|---|---|
12 | BNA | FMC | DKM |
14 | BMEK | FMO | DE |
플로트
이드 | 구성 단위 | 지역 | 나누기 | 유형_장비 | 장비 | Prod_Util | 페리오드_비단게 | Q_vid_equi |
---|---|---|---|---|---|---|---|---|
14 | 904 | FMC | DNBLS | MOTUR&DG | 모테어 디젤 | 껍데기 | 15 | 12 |
23 | 905 | FME | DNBLS | MOTUR&DG | 모테어 디젤 | 껍데기 | 15 | 12 |
22 | 906 | FMO | DNBLS | MOTUR&DG | 모테어 디젤 | 껍데기 | 15 | 12 |
21 | 911 | FME | DNBLS | MOTUR&DG | 모테어 디젤 | 껍데기 | 15 | 12 |
55 | 701 | FME | DNBLS | MOTUR&DG | 모테어 디젤 | 껍데기 | 15 | 12 |
예상 출력
이드 | 제품 | 구성 단위 | 콴티테 | 날짜_S |
---|---|---|---|---|
1 | 토라다55 | 904 | 32 | 08/06/2022 |
2 | 테스카 | 560 EHRS | 44 | 08/06/2022 |
5 | 테스카 | BNA | 45 | 08/06/2022 |
이 쿼리를 사용해 보았습니다.
SELECT *
FROM Produit,
Aéro
WHERE Aéro.Unit = Produit.Unit
AND Aéro.region = 'FMC'
UNION
SELECT *
FROM Produit,
Commun
WHERE Commun.Unit = Produit.Unit
AND Commun.region = 'FMC'
UNION
SELECT *
FROM Produit,
Flot
WHERE Flot.Unit = Produit.Unit
AND Flot.region = 'FMC'
"커뮤니케이션" 및 "에로" 테이블만 기반으로 "프로듀이트"를 선택하는 동안에는 잘 작동합니다."플롯" 테이블을 기준으로 "프로듀잇"만 선택하면 작업도 됩니다.그러나 다른 세 개의 테이블을 기준으로 "Productit"을 선택하면 오류가 반환됩니다.
장치가 "FMC" 영역과 연결된 모든 제품을 추출하려면 다음을 적용할 수 있습니다.UNION ALL
세 가지 필터링 테이블("Aéro", "Commun" 및 "Flot")의 장치에서 해당 "Productuit"에서 해당 장치를 허용하는 모든 제품을 선택합니다.단위".
SELECT *
FROM Produit
WHERE Unit IN (SELECT Unit FROM Aéro WHERE region = 'FMC'
UNION ALL
SELECT Unit FROM Commun WHERE region = 'FMC'
UNION ALL
SELECT Unit FROM Flot WHERE region = 'FMC')
여기서 데모를 확인하십시오.
참고:UNION ALL
보다 효율적입니다.UNION
무거운 집계를 피할 수 있기 때문입니다.여기서 차이를 확인하십시오.
언급URL : https://stackoverflow.com/questions/72848476/select-table-based-on-condition-from-multi-tables-using-union
반응형
'programing' 카테고리의 다른 글
WooCommerce 체크아웃 페이지에 고객의 팁 입력 추가 (0) | 2023.06.17 |
---|---|
이것을 Vuex 스토어에서 사용할 수 있습니까? (0) | 2023.06.17 |
관측 가능한 .do() 연산자(rxjs)의 사용 사례 (0) | 2023.06.17 |
엑셀 매크로 내에서 자바스크립트를 어떻게 사용할 수 있습니까? (0) | 2023.06.17 |
엑셀 없이 델파이에서 엑셀로 내보내기 (0) | 2023.06.17 |