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

instrukcja select wewnątrz instrukcji insert w sql zwraca wiele wierszy

całe zapytanie wygląda mniej więcej tak, jak poniżej. tam, gdzie masz, zamień * na nazwy kolumn, które chcesz wybrać!

INSERT INTO table1(first,second,third)

-- replace * with columns name first,second,third
select * from (
-- START YOU'RE select query
(SELECT table2.timemodified FROM `xtable` AS table2,`ytable` AS table3 
        WHERE table3.id = table2.contextid),

    (SELECT table4.id FROM `ztable` AS table4,`ytable` AS table3 WHERE table4.id = table3.instanceid),

    (SELECT murs.id FROM `table5` AS murs,
    `xtable` AS table2, 
    `wtable` AS table6, 
    `ytable` AS table3, 
    `vtable` AS table7 
    WHERE murs.id = table2.userid AND table6.id = table2.roleid AND table3.id = table2.contextid AND table7.instance = table3.instanceid AND table6.id =3)
-- END YOU'RE select query
)

Przeniosłem wybrane instrukcje do podzapytania, dzięki czemu możesz wykorzystać łączny wynik podzapytania na swoją korzyść.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najbardziej wydajny sposób wykonania polecenia SQL „WSTAW JEŚLI NIE ISTNIEJE”

  2. Jak używać GROUP_CONCAT w CONCAT w MySQL

  3. Skanowanie tabeli mysql od dołu

  4. Jak przechowywać dane w Unicode w języku hindi?

  5. Jak skonfigurować MySQL pod Zend Framework?