- 締切済み
SQL文を教えてください
初心者です。 SQL文を教えてください。 バージョンはOracle 9.2です。 SELECT LTRIM(TO_CHAR(SEQ_PB_TYOHYO.NEXTVAL,'00000000')) AS NO_TYOHYO ,TO_CHAR(SYSDATE,'YYMMDD') AS DT_SYORI ,TO_CHAR(SYSDATE,'HH24MISS') AS TM_SYORI ,UM.CD_TOKCOD ,TM.RN_TOKUI ,SUM(DECODE(HM.CD_HSYUCD,'000001',UM.SU_URIAGE)) ,SUM(DECODE(HM.CD_HSYUCD,'000001',UM.KN_URIAGE)) ,SUM(DECODE(HM.CD_HSYUCD,'000002',UM.SU_URIAGE)) ,SUM(DECODE(HM.CD_HSYUCD,'000002',UM.KN_URIAGE)) ,/* 以下省略(000012まである) */ From URIMEI UM ,TOKMAS TM ,HINMAS HM Where (UM.KB_NYURYO = 1 Or UM.KB_NYURYO = 3) And UM.KB_DATA = 1 And (UM.KB_URINYU = 1 Or UM.KB_URINYU = 2 Or UM.KB_URINYU = 3) And UM.DT_URINYU >= CONCAT(W_Date1,'01') And UM.DT_URINYU <= TO_CHAR(Last_Day(W_Date2),'YYMMDD') And UM.CD_TOKCOD = TM.CD_TOKCOD(+) And HM.CD_HSYUCD = UM.CD_HSYUCD(+) GROUP BY HM.CD_HSYUCD; SQLスクラッチパットにて実行すると 「ここでは順序番号は使用できません」と言うエラーメッセージが出ます。 で、上から5行消して実行すると実行結果が返ってくるのです。 こういう場合はどうしたらよろしいでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- jmh
- ベストアンサー率23% (71/304)
select SEQ_PB_TYOHYO.NEXTVAL, X.* from (select to_char(sysdate, 'YYMMDD') asa DT_SYORI , … from URIMEI, TOKMAS, HINMAS …) X ネストすれば、できそうな気がします。
- rancer
- ベストアンサー率66% (6/9)
SQL文のGROUP BY句に、HM.CD_HSYUCDしか記述がないんで、 それ以外のカラムの値は、集計関数を使わない限り、表示できないと思いますけど。。。 当然、順序をGROUP BY句に記述することもできないはずですけど ようするに、返ってくる結果の各行に順番に数字を振りたいってことですか? 私の知る限り、SQL文だけでそういうことはできなかったじゃないかなぁー
補足
rancerさんjmhさん回答ありがとうございます。 何とか出来ました。 ノーマルとグループとの絡みが良くなかったみたいです。 また、何か有りましたら宜しくお願い致します。 ↓これでいけました。 Select D_ID_CLIENT AS ID_KURAIA ,LTRIM(TO_CHAR(SEQ_PB_TYOHYO.NEXTVAL,'00000000')) AS NO_TYOHYO ,TO_CHAR(SYSDATE,'YYMMDD') AS DT_SYORI ,TO_CHAR(SYSDATE,'HH24MISS') AS TM_SYORI ,UM.CD_TOKCOD ,TM.RN_TOKUI ,Dummy.Dummy01 ,Dummy.Dummy02 From URIMEI UM ,TOKMAS TM ,HINMAS HM ,(SELECT SUM(DECODE(HM.CD_HSYUCD,'000001',UM.SU_URIAGE,0)) AS Dummy01 ,SUM(DECODE(HM.CD_HSYUCD,'000001',UM.KN_URIAGE,0)) AS Dummy02 Where ・・・・・ GROUP BY HM.CD_HSYUCD) Dummy Where ・・・・・ ;