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

ネストされたInsertinsetステートメントとselectステートメント

    の結果を挿入しようとすると問題が発生します
    SELECT product.product_adressnummer 
    FROM product 
    WHERE product.product_name='testproduct'
    AND product.product_version='2.50c' 
    AND product_updateDatum >= '2015-12-11'
    

    あなたのテーブルに。これは複数のレコードを返すため、1つのレコードがあるべき場所に挿入することはできません。 IN 複数のレコードが返されるのを防ぐことはできないため、問題は解決しません。

    返されたすべてのレコードにレコードを挿入する場合は、次を使用できます。

    INSERT INTO 
        reports (report_date, report_emploee, report_content, report_art, report_adressnummer)
    SELECT
        NOW(), 
        'UpdateMaster', 
        'content', 
        'AutoUpdate' ,
        product.product_adressnummer 
    FROM product 
    WHERE product.product_name='testproduct'
    AND product.product_version='2.50c' 
    AND product_updateDatum >= '2015-12-11'
    



    1. Oracle Database 21c

    2. MySQLエラー1005:テーブルを作成できません(errno:150)

    3. MySqlクエリを使用してデータベース内の数値を小数点以下2桁に丸める方法

    4. Selectステートメントでの変数の宣言と設定