sql >> Database teknologi >  >> RDS >> Oracle

Brug af flere indlejrede forespørgsler i Oracle DBMS

Din forespørgsel:

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

Problemer:

  1. Det ser ud til, at du forsøger at vælge id ved hjælp af "="-operatoren, som vil mislykkes i tilfælde af flere indtastninger returneret af indre forespørgsel.
  2. Du kan ikke tilføje aggregerede operatorer i where-sætningen.

Sandsynligt svar:

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. ColdFusion Parametrisering af en forespørgsel

  2. JDBC vs Web Service til Android

  3. Ligesom Case Sensitive i MySQL

  4. Søg efter en værdi i databasen og få alle værdier i denne enkelte række ved hjælp af Codeigniter