sql >> Database >  >> RDS >> Oracle

Meerdere geneste query's gebruiken in Oracle DBMS

Uw vraag:

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

Problemen :

  1. Het lijkt erop dat je id probeert te selecteren met de operator "=", wat niet lukt als er meerdere items worden geretourneerd door een innerlijke query.
  2. U kunt geen aggregatieoperatoren toevoegen aan de waar-clausule.

Waarschijnlijk antwoord:

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. Converteren van asynchrone naar synchrone replicatie in PostgreSQL

  2. Kolom bestaat niet in de IN-component, maar SQL wordt uitgevoerd

  3. MyBatis Lijstwaarden invoegen

  4. Hoe kopieer je in MySQL de inhoud van de ene tabel naar een andere tabel binnen dezelfde database?