2

SQL Server にレコードを挿入したいのですが。私はクエリを試みますが、すべてのレコードと値の重複を挿入します。

値を複製してレコードを挿入する必要はありません。

テーブルファイルTA

runNo   cDate           cIn         cOut    
00001   2012-10-09 00:00:00.000 2012-10-09 07:21:00.000 2012-10-09 20:34:00.000 
00005   2012-10-09 00:00:00.000 2012-10-09 07:36:00.000 2012-10-09 17:04:00.000 
00006   2012-10-09 00:00:00.000 2012-10-09 07:55:00.000 2012-10-09 20:34:00.000 
00007   2012-10-09 00:00:00.000 2012-10-09 07:50:00.000 2012-10-09 00:00:00.000 
00008   2012-10-09 00:00:00.000 2012-10-09 07:56:00.000 2012-10-09 20:35:00.000 
00009   2012-10-09 00:00:00.000 2012-10-09 07:57:00.000 2012-10-09 20:32:00.000 
00010   2012-10-09 00:00:00.000 2012-10-09 07:58:00.000 2012-10-09 19:03:00.000

このコード ストアド プロシージャ

SELECT 
     em.empNo,
     ISNULL(tf.cDate, '2012-10-09'),
     tf.cIn,tf.cOut
FROM 
     filesTA tf Full Outer join 
     Emp em On tf.runNo = em.empNo AND tf.cDate = '2012-10-09'

コード ストアド プロシージャからの結果 (Datagridview 表示時)

empNo   cDate           cIn         cOut
00001   2012-10-09 00:00:00.000 2012-10-09 07:21:00.000 2012-10-09 20:34:00.000
00002   2012-10-09 00:00:00.000 NULL                    NULL
00003   2012-10-09 00:00:00.000 NULL                    NULL
00004   2012-10-09 00:00:00.000 NULL                    NULL
00005   2012-10-09 00:00:00.000 2012-10-09 07:36:00.000 2012-10-09 17:04:00.000
00006   2012-10-09 00:00:00.000 2012-10-09 07:55:00.000 2012-10-09 20:34:00.000
00007   2012-10-09 00:00:00.000 2012-10-09 07:50:00.000 2012-10-09 00:00:00.000
00008   2012-10-09 00:00:00.000 2012-10-09 07:56:00.000 2012-10-09 20:35:00.000
00009   2012-10-09 00:00:00.000 2012-10-09 07:57:00.000 2012-10-09 20:32:00.000
00010   2012-10-09 00:00:00.000 2012-10-09 07:58:00.000 2012-10-09 19:03:00.000

コードストアドプロシージャからの結果。SQLへの挿入ではありません。ただし、データグリッドビューに表示します。

次のステップ。レコード '00002'、'00003'、'00003'または cIn と cOut = null を挿入する必要があります が、すべてのレコードと重複値を挿入しようとします。

このコードは新しいです。

    Insert INTO 
    filesTA (runNo,cDate,cIn,cOut)
    VALUES 
   (SELECT 
        em.empNo,
        ISNULL(tf.cDate, '2012-10-09'),
        tf.cIn,tf.cOut
    FROM 
        filesTA tf Full Outer join Emp em 
        On tf.runNo = em.empNo AND tf.cDate = '2012-10-09')

コード ストアド プロシージャからの結果が必要です (Datagridview 表示時)

お時間をいただきありがとうございます。:)

4

1 に答える 1

0

1)full outer joinまたはdistinct選択を行うときに使用していないため(複数の行があるため、複数の値があります)、重複を取得している可能性があります。 full outer joinはあなたが望んでいるものではありませんinner join

于 2013-02-13T23:54:37.553 に答える