내 솔루션보다 효율적인 방법을 찾고 싶습니다. 그래서 여기에 문제가 있습니다 : select 문에서 대량 삽입을 원합니다. 결과는 대상에서두 번째 제외 삽입, 기존 레코드에서 첫 번째 추가
...
Num Amount Year ModifiedDate Itm City ... ...
1 100 2011 01-01-2011 2 Amsterdam .. ..
1 100 2011 01-02-2011 5 Den Haag .. ..
2 4560 2011 01-02-2011 6 Amsterdam .. ..
33 456 2010 01-02-2011 12 Leiden .. ..
22 456 2010 01-02-2011 12 Leiden .. ..
....
입니다
SELECT number, amount, year, modifiedDate, itm, city, c, d, e, f.... FROM X
JOIN Y ....
그래서 만약 내가 갖고 싶어 : 선택의
예 : (배경 정보 나 MSSQL 2005을 사용하고 있습니다)
...
Num Amount Year ModifiedDate Itm City ... ...
1 100 2011 01-02-2011 5 Den Haag .. ..
2 4560 2011 01-02-2011 6 Amsterdam .. ..
33 456 2010 01-02-2011 12 Leiden .. ..
22 456 2010 01-02-2011 12 Leiden .. ..
....
이 레코드가없는 경우 : (1 100 2011 01-01-2011 2 암스테르담)
대상 테이블에이 두 가지 중에서 첫 번째를 삽입하고 싶습니다. 삽입해야하는 선택에서 나오는 다른 레코드가 있습니다. 그래서 이번에는 modifiedDate DESC에 의해 number, amount, year가 같은 순서 인 첫 번째 것을 가져 가고 싶습니다. 그것이 내가하고 싶은 일입니다. 이미 Cursor를 사용하여 솔루션을 만들었지 만 더 나은 방법이 있어야합니다.
여전히 충분한 정보라고 생각하지 않습니다. 자신이하고있는 것을 정확히 볼 수 있도록 커서를 보여주십시오. –
커서를 게시하지 않는 이유는 다른 솔루션을 찾고 있기 때문입니다. 커서로 나는 이미 대답을 가지고있다. 다른 방법이 있는지 궁금합니다. 전체 쿼리를 게시하지 않는 이유는 매우 복잡하기 때문에 기본적으로 생각입니다. 이제는 분명해야한다고 생각합니다. 아직도 불분명한지 알려주십시오. – Ekaterina
두 행 사이에 두 번째 행에서 첫 번째 행을 어떻게 말합니까? 당신은'modifiedDate'에 의해 행을 정렬하지만, 그 두 가지는 동일한'modifiedDate' 값을가집니다. 다른 정렬 기준이없는 경우에는 특정 순서가 임의적입니다. –