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

Използване на множество вложени заявки в Oracle DBMS

Вашето запитване:

SELECT Email, Phonenumber
FROM EMPLOYEE
WHERE COUNT(
ID = (SELECT ID_Num
FROM SCHEDULE
WHERE Start_Time <= 12:07 AND End_Time >= 12:07)
AND Shopn = (SELECT Shopname
FROM SHOP
WHERE Shoptype = ‘market’) ) > 2

Проблеми :

  1. Изглежда, че се опитвате да изберете идентификатор с помощта на оператор "=", който ще се провали в случай на множество записи, върнати от вътрешна заявка.
  2. Не можете да добавяте обобщени оператори в клаузата where.

Вероятен отговор:

select Email, Phonenumber
FROM EMPLOYEE
WHERE ID in (SELECT ID_Num
FROM SCHEDULE
WHERE Start_Time <= '12:07' AND End_Time >= '12:07')
AND Shopn in (SELECT Shopname
FROM SHOP
WHERE Shoptype = 'market')
and (  
select count(distinct id)
FROM EMPLOYEE
WHERE ID in (SELECT ID_Num
FROM SCHEDULE
WHERE Start_Time <= '12:07' AND End_Time >= '12:07')
AND Shopn in (SELECT Shopname
FROM SHOP
WHERE Shoptype = 'market')) > 2;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dbms_scheduler Създаване на задание Не изпълняващо се задание

  2. Създаване на Oracle последователност, която започва с буквено-цифрови

  3. IS срещу AS ключови думи за PL/SQL Oracle функция или създаване на процедура

  4. АКТУАЛИЗИРАНЕ със синтаксис JOIN за Oracle Database

  5. SSIS не успява да запази пакетите и рестартира Visual Studio