sql >> Databasteknik >  >> RDS >> Mysql

Sammanfoga olika tabeller baserat på kolumnvärde

Jag är inte 100 % säker på att syntaxen är rätt och jag har ingen chans att testa den just nu, men idén borde vara klar.

SELECT DISTINCT n.id 
FROM notifications n 
JOIN (
     (SELECT b.id, 'book' AS type FROM books b WHERE b.is_visible = 1)
  UNION
     (SELECT i.id, 'interview' AS type FROM interviews i WHERE i.is_visible = 1)
) ids ON n.parent_id = ids.id AND n.parent_type = ids.type
WHERE n.user_id = 1



  1. konvertera datumsträng till mysql datetime-fält

  2. Använd TYPE_NAME() för att hämta namnet på en datatyp i SQL Server

  3. 2 sätt att konvertera mellan decimal och hexadecimal i MySQL

  4. MySQL length() vs char_length()