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

Избиране в множество таблици с UNION

Благодаря за актуализирането на заявката; сега можем да видим, че условието WHERE се прилага само към последното UNIONed заявка. Трябва да и двете добавете тази клауза WHERE към всяка заявка или я обвийте като подселекция и приложете клаузата WHERE към нея.

select s.id as id, s.email as email, s.password as password, s.role as role from tblStudents s
where email = "[email protected]"
union
select a.id as id, a.email as email, a.password as password, a.role as role from tblAdmin a
where email = "[email protected]"
union
select t.id as id, t.email as email, t.password as password, t.role as role from tblTeachers t
where email = "[email protected]"

или

SELECT * FROM (
select s.id as id, s.email as email, s.password as password, s.role as role from tblStudents s
union
select a.id as id, a.email as email, a.password as password, a.role as role from tblAdmin a
union
select t.id as id, t.email as email, t.password as password, t.role as role from tblTeachers t
) foo where email = "[email protected]"


  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 - Комбиниране на множество условия WHEN в CASE

  2. Изберете последния идентификатор за вмъкване

  3. Как да накарам CakePHP bake, за да намеря mysql.sock и да разпозная MySQL, докато използвам MAMP на Mac OSX?

  4. Ефективно определяне дали даден бизнес е отворен или не въз основа на работното време на магазина

  5. ГРЕШКА в PDO:Извикване на функция-член подготви() на null