sql >> Databáze >  >> RDS >> Mysql

UNION 2 Select-query s počítanými sloupci

Myslím, že klíčovou myšlenkou je získat seznam tiskáren, které chcete:

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;

Pak můžete použít exists abyste zjistili, zda se jedná o výchozí hodnoty:

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;

Zde je db<>hudlík.



  1. jaký je nejlepší způsob, jak provést internacionalizaci v php?

  2. Údaje o penězích na PostgreSQL pomocí Javy

  3. Použijte TYPEPROPERTY() k vrácení informací o datovém typu na serveru SQL Server

  4. SQL Auto Increment několikrát ve stejné tabulce