2010-12-07 4 views
0

を使用して、(*)カウント LABSTATUS = 1、 CREATEDON> = TO_DATE('01/07/2010年10 FROM '、' DD/MM/YYYY hh ') GROUP BY trunc(createdon、' hh ') 時間単位で..グリッドの対応する時間列にカウント値を配置する必要があります。 どうすればいいですか?あなたはこのようにそれを行うことができます任意のアイデア私は、クエリ SELECT TRUNC(createdon、 'HH')CREATEDONを使用してレコードを持っているVB6とOracle

+0

あなたはより具体的なものにタイトルを変更してくださいでした。質問はvb6とは関係ありません。 – HamoriZ

答えて

0

時間は列に

SELECT TRUNC(createdon,'hh'), SUM(CASE WHEN hh=1 THEN 1 ELSE 0) h1, 
           SUM(CASE WHEN hh=2 THEN 1 ELSE 0) h2 ..... 
FROM TABLle1, 
(SELECT 1 AS hh FROM dual 
UNION 
SELECT 2 AS hh FROM dual 
UNION 
SELECT 3 AS hh FROM dual 
.... 
) hours 
WHERE LABSTATUS=1 AND CREATEDON >=TO_DATE('01/07/2010 10','DD/MM/YYYY hh') AND 
TRUNC(createdon,'hh')= hours.hh 
GROUP BY TRUNC(createdon,'hh') 

時間ある行にあります。

SELECT hours.hh, SUM(CASE WHEN TRUNC(createdon,'hh')= hours.hh THEN 1 ELSE 0 END) hh,         
    FROM TABLle1, 
    (SELECT 1 AS hh FROM dual 
    UNION 
    SELECT 2 AS hh FROM dual 
    UNION 
    SELECT 3 AS hh FROM dual 
    .... 
    ) hours 
    WHERE LABSTATUS=1 AND CREATEDON >=TO_DATE('01/07/2010 10','DD/MM/YYYY hh')  
    GROUP BY hours.hh 

このクエリは、この

    のようになります
  • 行1 12

    行2 0

    行3 4

...

+0

ありがとう..しかし、私はカウント値と対応する時間を得ました..しかし、私はグリッドにそのカウント値を配置する必要があります..例えば:01:59 PM 2 .. 1:00-2:00Pmカウント値2は、 – Arthi

+0

が動作していない場所にする必要があります。時間:無効な識別子エラー – Arthi

+0

SELECT時間.hh、SUM(作成時、'hh ')=時間.hh THEN 1 ELSE 0 END) AS 6を選択 (DUAL UNION FROM AS HH 5を選択 DUAL 結合からAS HH 4を選択 デュアル 結合からAS HH 3を選択 デュアル 結合からAS HH 2を選択 デュアル 結合からAS HH 1を選択hh FROM DUAL DUAL 結合から8 AS HHを選択 UNIONがDUAL などからHH 9を選択 DUAL 結合から7 AS HHを選択 )時間 LABSTATUS = 1 AND CREATEDON> = TO_DATE('01/07/2010 TABLE1 FROM '、' DD/MM/YYYY hh ')、hnum =' 475407D ' GROUP BY時間: GROUP BY時間: * 行22のエラー:ORA-00904:「HOURS」。「HH」:無効ID – Arthi

関連する問題