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

ショアテルレポートのクエリでの複数のSELECTCASEステートメント

    列ごとに個別のcaseステートメントを実行する必要があります:

    SELECT  queuecall1.StartTime, 
            queuecall1.QueueName,
            CASE WHEN ExitReason = 7 THEN 1 ELSE 0 END AS CallsAbandoned,
            CASE WHEN ExitReason = 1 THEN 1 ELSE 0 END AS CallsAgent,
            CASE WHEN calltype = 1 THEN 1 ELSE 0 END AS CallsInternal,
            CASE WHEN calltype = 2 THEN 1 ELSE 0 END AS CallsExternal
    FROM   (queuecall queuecall1 INNER JOIN connect connect1 
    ON queuecall1.ConnectTableID=connect1.ID) INNER JOIN call call1 
    ON connect1.CallTableID=call1.ID
    

    これにより、次のような出力が得られます:

    StartTime | QueueName | CallsAbandoned | CallsAgent | CallsInternal | CallsExternal
    ----------+-----------+----------------+------------+---------------+---------------
     10:59    |  Queue1   |      1         |    0       |     1         |      0
     11:05    |  Queue1   |      1         |    0       |     1         |      0
     11:11    |  Queue1   |      0         |    1       |     1         |      0
     11:12    |  Queue1   |      0         |    0       |     0         |      1
     11:24    |  Queue1   |      0         |    1       |     0         |      1
     11:37    |  Queue1   |      1         |    0       |     0         |      1
     11:42    |  Queue1   |      0         |    1       |     0         |      0
    



    1. 2パーセントのmysqlLIKE

    2. EloquentのINステートメント

    3. Homebrewを使用して[メール保護]のKegインストールにPostgisをインストールするにはどうすればよいですか?

    4. Postgresタイムスタンプクエリ範囲を最適化する