sql >> Base de Datos >  >> RDS >> Mysql

Inserción anidada en y declaración de selección

El problema que tienes es cuando intentas insertar el resultado de

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

en tu mesa. Como esto devuelve más de un registro, no puede insertarlo donde debería estar un registro. IN no resuelve el problema ya que esto no evita que se devuelva más de un registro.

Si desea insertar un registro para cada registro devuelto, puede usar:

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'