Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion imbriquée dans et sélectionnez l'instruction

Le problème que vous avez est lorsque vous essayez d'insérer le résultat de

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

dans votre tableau. Comme cela renvoie plus d'un enregistrement, vous ne pouvez pas l'insérer là où un enregistrement devrait être. IN ne résout pas le problème car cela n'empêche pas plus d'un enregistrement d'être renvoyé.

Si vous souhaitez insérer un enregistrement pour chaque enregistrement renvoyé, vous pouvez utiliser :

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'