늘 레코드를 포함하는 왼쪽 조인
사용하고 있습니다.Oracle 11gR2
두 개의 테이블에서 주소 데이터를 반환하는 쿼리를 작성하려고 합니다.CUSTOMERS
그리고.LOCATIONS
. 특정 고객은 각자의 주소를 가진 서로 다른 위치를 가질 수도 있고 그렇지 않을 수도 있습니다.
모든 고객의 주소와 모든 위치를 반품하고 싶습니다.예를 들어, 표에 다음과 같은 데이터가 포함되어 있는 경우:
고객들.Customer_ID 주소1 뉴욕2 캘리포니아위치고객_ID위치_ID주소11 뉴저지
그런 다음 결과를 다음과 같이 나타낼 수 있기를 바랍니다.
고객_ID위치_ID주소1 뉴욕11 뉴저지2 캘리포니아
제가 처음 생각한 것은 다음과 같습니다.
SELECT
CUSTOMERS.CUSTOMER_ID,
LOCATIONS.LOCATION_ID,
NVL(LOCATIONS.ADDRESS,CUSTOMERS.ADDRESS) ADDRESS
FROM
CUSTOMERS
LEFT JOIN
LOCATIONS ON (CUSTOMERS.CUSTOMER_ID=LOCATIONS.CUSTOMER_ID)
문제는 고객이 위치를 가지고 있을 때 위치 데이터에 대한 null 값이 있는 행을 반환하지 않기 때문에 주소가 있는 행을 받지 못한다는 것입니다.CUSTOMERS
테이블. 이는 나에게 다음과 같은 것을 줍니다.
고객_ID위치_ID주소11 뉴저지2 캘리포니아
그것은 놓치고 있습니다.New York
주소를 지정customer 1
. 이거 해봤는데...
SELECT
CUSTOMERS.CUSTOMER_ID,
LOCATIONS.LOCATION_ID,
NVL(LOCATIONS.ADDRESS,CUSTOMERS.ADDRESS) ADDRESS
FROM
CUSTOMERS
LEFT JOIN
LOCATIONS ON (CUSTOMERS.CUSTOMER_ID=LOCATIONS.CUSTOMER_ID OR LOCATIONS.CUSTOMER_ID IS NULL)
하지만 첫번째 질문과 같은 결과를 얻었습니다.조인 조건이 일치하는 경우에도 두 번째 테이블에 대한 null record를 반환할 수 있는 방법이 있습니까?
여기에 가입할 필요는 전혀 없습니다.
SELECT customer_id, NULL AS location_id, address
FROM customers
UNION ALL
SELECT customer_id, location_id, address
FROM locations
풀 아우터 조인을 시도해 볼 수 있습니다.예를 들어,
SELECT
CUSTOMERS.CUSTOMER_ID,
LOCATIONS.LOCATION_ID,
NVL(LOCATIONS.ADDRESS,CUSTOMERS.ADDRESS) ADDRESS
FROM CUSTOMERS
FULL OUTER JOIN LOCATIONS ON (CUSTOMERS.CUSTOMER_ID=LOCATIONS.CUSTOMER_ID)
일치하지 않는 경우에도 두 테이블에 합류하려면 다음을 사용해야 합니다.IS NULL
당신의 칼럼에.
예를들면.
Table 1:
CustomerID
CustomerName
.
Table 2:
CustomerID
CustomerEmail
.
Select,
CustomerID,
CustomerName,
ISNULL (CustomerEmail, NULL) AS CustomerEmail
FROM table1
LEFT JOIN table2
ON table1.CustomerID = table2.CustomerID
이를 통해 다음과 같은 결과를 얻을 수 있습니다.NULL
언급URL : https://stackoverflow.com/questions/4548201/left-join-that-always-includes-null-records
'source' 카테고리의 다른 글
Spring Web MVC에서 Ajax JQuery를 사용하는 방법 (0) | 2023.10.18 |
---|---|
MySQL DB에서 고객 정보를 암호화하는 가장 좋은 방법은? (0) | 2023.10.18 |
Sqalchemy에서 열거를 하는 가장 좋은 방법은? (0) | 2023.10.18 |
각 줄의 텍스트 파일을 파워셸을 통해 배열로 저장하는 방법 (0) | 2023.10.18 |
jQuery를 사용하여 텍스트 정렬 스타일을 동적으로 추가하는 방법 (0) | 2023.10.18 |