Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zagnieżdżone Wstaw do i wybierz instrukcję

Problem, który masz, polega na tym, że próbujesz wstawić wynik

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

do twojego stołu. Ponieważ zwraca więcej niż jeden rekord, nie można go wstawić tam, gdzie powinien znajdować się jeden rekord. IN nie rozwiązuje problemu, ponieważ nie uniemożliwia to zwrócenia więcej niż jednego rekordu.

Jeśli chcesz wstawić rekord dla każdego zwróconego rekordu, możesz użyć:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę utworzyć próg dla podobnych ciągów za pomocą odległości Levenshteina i uwzględnić literówki?

  2. MySQL Policz różne wartości z jednej kolumny

  3. Sól PHP i hash SHA256 dla hasła logowania

  4. Przechowywanie dat innych niż gregoriańskie w typie daty Mysql

  5. Przegląd replikacji między klastrami