sql >> Database >  >> RDS >> Mysql

Geneste Invoegen in en selecteer statement

Het probleem dat je hebt is wanneer je probeert het resultaat van

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

in je tafel. Aangezien dit meer dan één record retourneert, kunt u het niet invoegen waar één record zou moeten zijn. IN lost het probleem niet op, aangezien dit niet verhindert dat meer dan één record wordt geretourneerd.

Als u een record wilt invoegen voor elk geretourneerd record, kunt u het volgende gebruiken:

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. MySQL voorwaardelijke ORDER BY ASC/DESC voor datumkolom

  2. Hoe werkt MySQL CASE?

  3. hoe te begrijpen kan mysql-foutmeldingen niet verbinden?

  4. Een voorbereide verklaring laat me niet $mysqli->stmt_init() bellen