테이블 table1 (account, last_contact_date, insert_date), account 및 last_contact_date가 기본 키입니다. insert_date는 getdate()를 호출하여 추가 된 recored 시간으로 설정됩니다. 또한 table1을 업데이트하는 데 사용하는 임시 테이블 #temp (account, last_contact_date)가 있습니다.날짜를 기준으로 삽입하는 방법
여기 샘플 데이터이다 :
table1
account last_contact_date insert_date
1 2012-09-01 2012-09-28
2 2012-09-01 2012-09-28
3 2012-09-01 2012-09-28
#temp
account last_contact_date
1 2012-09-27
2 2012-09-27
3 2012-08-01
결과표 삽입 기간에 의존한다. 날짜 2012년 9월 28일 경우, 결과는 기본적 규칙이
table1
account last_contact_date insert_date
1 2012-09-27 2012-09-28
2 2012-09-27 2012-09-28
3 2012-09-01 2012-09-28
날짜 2012년 9월 29일
경우는, 결과가table1
account last_contact_date insert_date
1 2012-09-01 2012-09-28
2 2012-09-01 2012-09-28
3 2012-09-01 2012-09-28
1 2012-09-27 2012-09-29
2 2012-09-27 2012-09-29
것 것 (1) 삽입 날짜가 같은 날인 경우 last_contact_date를 선택합니다. 그렇지 않으면 (2) last_contact_date가 현재 last_contact_date보다 늦으면 새 것을 삽입합니다.
이 삽입에 대한 쿼리는 어떻게 작성합니까?
실제로 이것은 아마도 가장 빠른 방법 일 것입니다. 대안은 select, update 및 insert를 포함한 여러 쿼리를 수행하는 것입니다. –
삽입 날짜가 다를 때까지 기다리면 오류가 발생합니다. 오류는 PRIMARY KEY 제약 조건 위반입니다. – GLP
정확합니다. 나는 틀린 것을 읽었다. 그러나, 나는 당신을 위해 당신의 코드를 작성하는 것이 아닙니다. 개념은 의미합니다. 삭제, w/그룹 선택 및 삽입. 고유 한 2-colle PKeys –