나는 3 개의 테이블을 가지고있다. 하나는 내 선수 테이블, 역사 테이블 및 항목 테이블입니다.단일 선택을 두 개의 다른 테이블에 삽입하는 방법은 무엇입니까?
플레이어 테이블이 이미 히스토리 테이블에있는 경우 플레이어 테이블을 확인해야합니다. 그렇지 않으면 히스토리 테이블에 삽입 한 다음 항목 테이블 (다른 삽입)에 하나의 항목을 제공해야합니다.
이미이 코드가 있지만 하나의 선택에 대해 두 개의 다른 삽입을 실행하는 방법을 모르겠지만 모두 검색했지만 어쩌면 IF와 THEN을 사용해야합니까? 첫 번째 테이블의 삽입에 삽입 할 때 그렇게 할수 없어
INSERT INTO tb_item (player_id, friend_id, item_id)
SELECT 1, id, 101 FROM tb_player
WHERE vip = 1
AND creation_date BETWEEN now() - INTERVAL '2 year' AND now() - INTERVAL '1 years'
AND id NOT IN ( SELECT ig.player_id FROM tb_history ig WHERE ig.item_id = 101
같은 Common Table Expressions를 사용하여 삽입 만 할 수있는 스토위한 작업 같은이 소리 빨간색 절차 – AntDC
나는 당신이 원하는 것을 이해하기가 힘듭니다. 질문을 편집하고 샘플 데이터와 해당 데이터를 기반으로 예상되는 출력을 추가하십시오. _Formatted_ text please, [스크린 샷 없음] (http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a- 질문/285557 # 285557) 쓰기 가능한 CTE가 찾고있는 것처럼 들립니다. https://www.postgresql.org/docs/current/static/queries-with.html#QUERIES-WITH-MODIFYING –