sql >> Database >  >> RDS >> Mysql

UNION 2 Select-query's met berekende kolommen

Ik denk dat het belangrijkste idee is om de lijst met printers te krijgen die je wilt:

select PrinterGUID
from ((select cm.PrinterGUID
       from computermapping cm
       where cm.ComputerGUID = '5bec3779-b002-46ba-97c4-19158c13001f'
      ) union -- to remove duplicates
      (select PrinterGUID
       from usermapping um
       where um.UserGUID = 'd3cf699b-8d71-4dbc-92f3-402950042054'
      )
     ) p;

Dan kun je exists . gebruiken om te zien of dit de standaardinstellingen zijn:

select p.PrinterGUID,
       (exists (select 1
                from computerdefaultprinter cdp
                where cdp.PrinterGUID = p.PrinterGUID and
                      cdp.ComputerGUID = '5bec3779-b002-46ba-97c4-19158c13001f'
               )
       ) as is_computer_default,
       (exists (select 1
                from userdefaultprinter udp
                where udp.PrinterGUID = p.PrinterGUID AND
                      udp.UserGUID = 'd3cf699b-8d71-4dbc-92f3-402950042054'
               )
      ) as is_user_default
from ((select cm.PrinterGUID
       from computermapping cm
       where cm.ComputerGUID = '5bec3779-b002-46ba-97c4-19158c13001f'
      ) union -- to remove duplicates
      (select PrinterGUID
       from usermapping um
       where um.UserGUID = 'd3cf699b-8d71-4dbc-92f3-402950042054'
      )
     ) p;

Hier is een db<>viool.



  1. Doctrine 2 opdrachtregelprogramma; MAMP en mysql.sock

  2. Oracle Analytic-functies - een windowing-clausule opnieuw instellen

  3. Wat vertelt PostgreSQL mij precies?

  4. SQLFeatureNotSupportedException op getArray