sql >> データベース >  >> RDS >> Mysql

UNION2Select-計算列を使用したクエリ

    重要なアイデアは、必要なプリンターのリストを取得することだと思います。

    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;
    

    次に、existsを使用できます これらがデフォルトであるかどうかを確認するには:

    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;
    

    こちら db<>フィドルです。



    1. / var / lib / mysqlディレクトリをコピーすることはmysqldumpの良い代替手段ですか?

    2. スーパーユーザーの役割がないと拡張機能を作成できません

    3. MySQLテーブルに挿入したばかりの行を参照するにはどうすればよいですか?

    4. PostgreSQL-JDBCドライバーのインストール