Stuck with sql query to pull out student details

Viewed 22

Please help me I am stuck here. I have a table with students details like

sid|lastName|firstName|address|phone|etc..
 1 |somename|somename |someaddress|etc..
 2 |somename|somename |someaddress|etc..
 3 |somename|somename |someaddress|etc..
 4 |somename|somename |someaddress|etc..

And onother one with students payments like

 sid|pid|paymentdate|amount|month|etc..
  1 | 1 |10/9/2021  |150   |september|etc..
  2 | 2 |10/9/2021  |180   |september|etc..
  1 | 3 |10/10/2021 |150   |Octomber |etc..
  2 | 4 |10/10/2021 |180   |Octomber |etc..

I want to make a query to pull out students details from table studentdetails that haven't payed the month september or octomber (by choice). Can anyone give me the query syntax? Thank you all in advance.

1 Answers

This query will select all student details where there isn't a record of payment in september or 'Octomber'

select * from studentdetails sd 
where not exists ( 
    select null 
    from studentspayments sp
    where sp.sid = sd.sid
    and sp.month in ('september','Octomber')
)
Related