0

一時テーブルからテーブルを更新する必要があります。したがって、メイン テーブルにない行を比較して、一時テーブルからインポートする必要があります。私のテーブルは次のようになります。

line_id -> nvarchar(20)
order_no -> nvarchar(20)
line_no ->int

両方のテーブルには同じフィールドがありますが、一時テーブルにはメイン テーブルに取り込む最新のレコードが多くあります。私は使っている;

INSERT INTO main_table
  SELECT * FROM temp_table t 
  WHERE t.line_id NOT IN (SELECT line_id FROM main_table)

しかし、この条件 WHERE t.line_id NOT IN (SELECT line_id FROM main_table)では注文ラインは発生しません。しかし、のorder_no代わりに を使用するとline_id、比較が行われ、番号または注文行が表示され始めます。しかしorder_no、一意のキーではなく、その比較では必要なすべての行が返されません。

あなたが私を助けることができればそれは素晴らしいことです.. 事前に感謝します!

4

2 に答える 2

2

不在者は奇妙なトラブルを引き起こす可能性があります。これは、同じアイデアの別のスピンです。

Insert Into main_table
  select t.* 
    from temp_table t
    left outer join main_Table m
      on t.line_id=m.line_id
   where m.line_id is null
于 2012-07-31T18:51:41.507 に答える
0

次のことを試してください。

INSERT INTO main_table
  SELECT * FROM temp_table t 
  WHERE LTRIM(RTRIMt.line_id)) NOT IN (SELECT LTRIM(RTRIM(line_id)) FROM main_table)
于 2012-07-31T18:53:54.627 に答える