늘 레코드를 포함하는 왼쪽 조인
사용하고 있습니다.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 |