Q:

SQL Delete similar Entries

SQL Question. 
I currently have two SQL tables One table called Waitlist and one Called Booking.  They are not identical (waitlist contains more information than booking).  They appear like so:
Waitlist:
#   Customer    Day                 Timestamp                   Flight
1   Joseph     2017-04-22      2017-04-22 16:20:33.178     F101

Booking:
#   Customer    Flight  Day
1   Timmy   F101    2017-04-22
2   Joseph  F101    2017-04-22

I would like to delete the duplicate data from waitlist (in this case the joseph entry).... I have tried the following:
DELETE FROM Waitlist WHERE Customer = booking.customer and day = booking.day and flight = booking.flight
I have also tried an INNER JOIN with no luck. 
Please Help!! 

A:

There are multiple ways to achieve your goal but the most appropriate answer to your question would be database vendor specific. 
I.e. in both MySQL and SQL Server you can use JOIN directly in DELETE statement
DELETE w 
  FROM waitlist w JOIN booking b 
    ON w.customer = b.customer
   AND w.day = b.day
   AND w.flight = b.flight; 

Sqlfiddle for MySql, Sqlfiddle for SQL Server
In PostgreSQL you can leverage EXISTS
DELETE FROM waitlist w
 WHERE EXISTS (
     SELECT *
       FROM booking
      WHERE customer = w.customer
        AND day = w.day
        AND flight = w.flight
);

SqlFiddle

