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

1 つのテーブルから選択し、別の 2 つのテーブルに挿入する

    以下のようなものが欲しいと思います。一時テーブル @Output は、最初のテーブルに挿入された ID をキャプチャし、2 番目のテーブルに挿入するときにこれらを使用できます。

    DECLARE @Output TABLE 
    (       FirstTableID    INT NOT NULL PRIMARY KEY, 
            WarehouseCode   VARCHAR(3), 
            CustomerCode    VARCHAR(4)
    )
    INSERT INTO FirstTable (WarehouseCode, CustomerCode)
    OUTPUT inserted.FirstTblID, inserted.WarehouseCode, inserted.CustomerCode INTO @Output
    SELECT  DISTINCT LEFT(LocationCode, 3) [WarehouseCode], CustomerCode
    FROM    [PrimaryTable]
    
    INSERT INTO SecondTable (ItemCode, LocationCode, CustomerCode, FirstTblID)
    SELECT  p.ItemCode,
            p.LocationCode,
            p.CustomerCode, 
            o.FirstTableID
    FROM    [PrimaryTable] p
            INNER JOIN @Output o
                ON LEFT(LocationCode, 3) = WarehouseCode
                AND p.CustomerCode = o.CustomerCode
      


    1. レール3.1。 Heroku PGError:演算子が存在しません:文字の変化=整数

    2. リレーショナルデータベース

    3. テーブルを変更してから、1つのステートメントで更新します

    4. PHPスクリプトの最適なMYSQLクエリ番号は何ですか?