sql >> データベース >  >> RDS >> Sqlserver

挿入...マージ...選択(SQL Server)

    秘訣は、テーブルにMERGEを入力することです。 INSERT...SELECTの代わりにステートメント 。これにより、出力句で挿入されたデータとソースデータの両方の値を使用できます。

    MERGE INTO Table3 USING
    (
        SELECT null as col2, 
               110 as col3, 
               Table1.ID as col4, 
               Table2.Column2 as col5,
               Table2.Id as col6
        FROM Table1
        JOIN Table1Table2Link on Table1.ID=Table1Table2Link.Column1
        JOIN Table2 on Table1Table2Link.Column2=Table2.ID
    ) AS s ON 1 = 0 -- Always not matched
    WHEN NOT MATCHED THEN
    INSERT (Column2, Column3, Column4, Column5)
    VALUES (s.col2, s.col3, s.col4, s.col5)
    OUTPUT Inserted.ID, s.col6
    INTO @MyTableVar (insertedId, Table2Id); 
    



    1. Access2016でテーブルからレポートを作成する方法

    2. WEEKOFYEAR()の例– MySQL

    3. SQL Server(T-SQL)で複数のパーティションを単一のファイルグループにマップする方法

    4. 制限付きのGROUP_CONCAT