programing

SQL 조건을 사용하여 두 테이블에서 데이터 가져오기

muds 2023. 9. 8. 21:48
반응형

SQL 조건을 사용하여 두 테이블에서 데이터 가져오기

SQL 쿼리에 도움이 필요합니다.일주일 전부터 알아보려고 했어요.

두 테이블에서 자료를 가져오려면 필요한데, 날짜와 종목이 두 번째 테이블과 같다면 첫 번째 테이블에서만 자료를 가져가게 됩니다.

각 테이블은 연결된 테이블의 아이디로 4개의 스포츠를 가질 수 있습니다.

그래서 날짜는 4번 같지만, 매번 다른 스포츠를 할 수 있습니다.즉, 첫 번째 표에서 날짜가 2020-01-01이고 스포츠가 ID 1이고 두 번째 표에서 날짜가 2020-01-01이고 스포츠 ID 2인 경우 두 표 모두에서 데이터가 추출됩니다.그러나 첫 번째 표에서 날짜가 2020-01-01이고 스포츠 ID가 1이고 두 번째 표에서 날짜가 2020-01-01이고 스포츠 ID가 1이면 첫 번째 표에서만 데이터를 가져옵니다.

어떻게 해서든 가능한가요?어떤 아이디어라도 좋겠군요.감사해요!

저는 MariaDB를 사용합니다.첫번째 테이블의 이름은 reservation이고 두번째 테이블의 이름은 reservation_r입니다.

table1 table2

결과 예:

enter image description here

당신이 원하는 것 같아요.union all몇 가지 필터링 포함:

select r.*
from reservation r
union all
select rr.*
from reservation_r rr
where not exists (select 1
                  from reservation r
                  where r.customer_idcustomer = rr.customer_idcustomer and
                        r.date = rr.date and
                        r.sport_idsport = rr.sport_idsport
                 );

언급URL : https://stackoverflow.com/questions/63269135/getting-data-from-two-tables-with-condition-sql

반응형