Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserção aninhada e instrução de seleção


O problema que você tem é quando você tenta inserir o 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'

em sua mesa. Como isso retorna mais de um registro, você não pode inseri-lo onde deveria estar um registro. IN não resolve o problema, pois isso não impede que mais de um registro seja retornado.

Se você deseja inserir um registro para cada registro retornado, pode 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'