동일한 열을 가진 두 개의 테이블이 있습니다. 이 두 테이블을 함께 결합하고 싶습니다. 첫 번째 테이블의 모든 행과 두 번째 테이블에서 같은 위치의 첫 번째 테이블에 존재하지 않는 날짜가있는 모든 행을 포함하고 있습니다.두 테이블을 새 테이블로 결합하여 다른 테이블의 선택 행을 무시합니다.
예 :
거래 :
date |location_code| product_code | quantity
------------+------------------+--------------+----------
2013-01-20 | ABC | 123 | -20
2013-01-23 | ABC | 123 | -13.158
2013-02-04 | BCD | 234 | -4.063
transactions2 :
date |location_code| product_code | quantity
------------+------------------+--------------+----------
2013-01-20 | BDE | 123 | -30
2013-01-23 | DCF | 123 | -2
2013-02-05 | UXJ | 234 | -6
원하는 결과 :
date |location_code| product_code | quantity
------------+------------------+--------------+----------
2013-01-20 | ABC | 123 | -20
2013-01-23 | ABC | 123 | -13.158
2013-01-23 | DCF | 123 | -2
2013-02-04 | BCD | 234 | -4.063
2013-02-05 | UXJ | 234 | -6
나는 이것에 대해 어떻게 갈 것인가? 나는 예를 이것에 대한 시도 :
SELECT date, location_code, product_code, type, quantity, location_type, updated_at
,period_start_date, period_end_date
INTO transactions_combined
FROM (SELECT * FROM transactions_kitchen k
UNION ALL
SELECT *
FROM transactions_admin h
WHERE h.date NOT IN (SELECT k.date FROM k)
) AS t;
하지만 내가 같은 일을 행을 포함하려면 고려해야하지만, 다른 위치하지 않습니다. PostgreSQL 9.2를 사용하고 있습니다.
귀하의 검색어는 귀하의 샘플 데이터와 일치하지 않습니다. 이 깨진 질문을 수리하십시오. 그 동안 샘플에 따라 결과를 표시하여 원하는 것을 명확히하십시오. 또한 psql은 PostgreSQL의 기본 명령 행 터미널입니다. 나는 그 꼬리표를 고쳤다. 이제 사용중인 버전도 알려주십시오. –
예제 데이터로 원하는 결과를 명시하여 질문을 명확히하고 내 PostgreSQL의 버전 번호를 추가했습니다.그리고 네, 쿼리가 망가 졌음을 알고 있습니다. 그냥 시도한 것의 의미를 알려줍니다. – jesseniem