Mysql
 sql >> база данни >  >> RDS >> Mysql

оператор select вътре в инструкцията за вмъкване в sql връща няколко реда

общата заявка изглежда по-долу. където трябва да замените * с имена на колони, които искате да изберете!

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
)

Преместих операторите ви за избор в подзаявка, за да можете да използвате общия резултат от подзаявките за свое предимство.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите дали стойността съществува в MySQL база данни

  2. Грешка при създаването на таблица:Имате грешка във вашия SQL синтаксис близо до 'order( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id ' на ред 1

  3. mysqldump цялата структура, но само данни от избрани таблици в една команда

  4. подзаявката връща повече от 1 ред

  5. Търси се съпоставяне на MySQL, независимо от главните букви, където a !=ä