私の解決策よりも効率的な方法を探したい。だからここに問題があります: 私はselect文から一括挿入をしたいと思います。結果は、先に2番目を除いて挿入、既存のレコードから最初のレコードを追加する
...
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アムステルダム)
これらの2つのうちの最初のものを宛先テーブルに挿入したいとします。私は、挿入されるべきである選択から出てくる他のレコードも持っています。ですから、この場合、最初のものを取りに行きたいと思います。数字、量、年はmodifiedDate DESCによって同じ順序です。それが私がしたいことです。私はすでにCursorを使って解決策を作りましたが、もっと良い方法があるはずです。
これは十分な情報ではないと私は考えています。あなたが行っていることを正確に見るためにカーソルを表示してください。 –
私がカーソルを掲示しないのは、別の解決策を探しているからです。カーソルで私はすでに答えがあります。私は別の方法があるのだろうかと思います。クエリ全体を投稿しない理由は、それが非常に複雑なためですが、基本的にはその考え方です。私は今明白でなければならないと思う。まだ不明な点がある場合は教えてください。 – Ekaterina
これらの2つの行の間に、どのように最初のものを第2のものからどうやって伝えますか?あなたは 'modifiedDate'によって行を注文していますが、それらの2つのものは同じ' modifiedDate'値を持っています。それらの特定の順序は、他のソーティング基準がない場合は任意です。 –