Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verschachtelte Insert into- und select-Anweisung

Das Problem, das Sie haben, ist, wenn Sie versuchen, das Ergebnis von

einzufügen
SELECT product.product_adressnummer 
FROM product 
WHERE product.product_name='testproduct'
AND product.product_version='2.50c' 
AND product_updateDatum >= '2015-12-11'

in deinen Tisch. Da dies mehr als einen Datensatz zurückgibt, können Sie ihn nicht dort einfügen, wo ein Datensatz sein sollte. IN löst das Problem nicht, da dies nicht verhindert, dass mehr als ein Datensatz zurückgegeben wird.

Wenn Sie für jeden zurückgegebenen Datensatz einen Datensatz einfügen möchten, können Sie Folgendes verwenden:

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'