sql >> Databasteknik >  >> RDS >> Mysql

UNION 2 Select-frågor med beräknade kolumner

Jag tror att nyckelidén är att få listan över skrivare du vill ha:

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;

Sedan kan du använda exists för att se om dessa är standardinställningarna:

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;

Här är en db<>fiol.



  1. skapa dynamiska Div-taggar för AJAX-PHP-MySQL-genererad tabell

  2. Fråga om att sammanfoga två tabeller

  3. Hur man ökar prestanda för SQL-fråga för att välja från 2 tabeller

  4. Konvertera från datum till epok-Oracle