1

dbForge Studio で作成したクエリに基づいてグラフを表示しようとしていますが、データの 1 つの軸のみを選択していると思われるため、グラフが正しく表示されません。

クエリは次のように結果を表示しています。

column1  column2  column3
data      data     data

チャートを適切に表示するには、次のような形式が必要だと思います。

Type      Total
column1    data
column2    data
column3    data

これが以下のクエリです。このように仮想列を追加して、これを再配置するにはどうすればよいですか?

    SELECT 
      (SELECT COUNT(T1.APP_UID)
       FROM TABLE1 T1 
       WHERE T1.APP_STATUS = 'To_Do' ) AS 'Column1' ,

      (SELECT COUNT(T1.APP_UID)
       FROM TABLE1 T1 
       WHERE T1.APP_STATUS = 'Completed' ) AS 'Column2' ,

      (SELECT COUNT(T1.APP_UID)
       FROM TABLE1 T1 ) AS 'Column3'
4

2 に答える 2

1

まず、2 列、N 行のデータ セットが必要な場合、クエリには "SELECT" の後に 2 つの引数が必要です。また、上向きの SQLS からの結果をチャートに入れる必要がある場合は、UNION または UNION ALL を使用する必要があります (詳細についてはhttp://dev.mysql.com/doc/refman/5.0/en/union.htmlを参照してください)。これ:

(SELECT 'Type', 'Total' FROM DUAL)
UNION [ALL]
(SELECT 'column1', COUNT(T1.APP_UID)
       FROM TABLE1 T1 
       WHERE T1.APP_STATUS = 'To_Do' )
UNION [ALL]
(SELECT 'column2', COUNT(T1.APP_UID)
       FROM TABLE1 T1 
       WHERE T1.APP_STATUS = 'Completed' )
UNION [ALL]
(SELECT 'column3', COUNT(T1.APP_UID)
       FROM TABLE1 T1 )

しかし、私が見たところ、以下を使用して同様の結果を得ることができます (2 つのステータス (「完了、to_do」) のいずれかを持つアプリの数、およびすべてのアプリの合計)。以下のコードは、エントリが 1 つしかないことを前提としています。表内の各アプリのステータスについて):

(SELECT T1.APP_STATUS, COUNT(*) FROM TABLE1 T1 WHERE (T1.APP_STATUS = 'To_Do' OR T1.APP_STATUS = 'Completed') GROUP BY T1.APP_STATUS)
UNION ALL
(SELECT 'Altogether', COUNT(T1.APP_UID)
       FROM TABLE1 T1)
于 2013-09-04T22:48:41.323 に答える