1

私の Oracle9i クエリは、何をしても重複する行を生成しています。また、値とサンプル番号を日付に誤って割り当てています。join を使用しようとして失敗しましたが、distinct を使用してもうまくいきませんでした。また、where ステートメントに sd.SAMPLE_NUM=shv.SAMPLE_NUM と入力しようとしました。しかし、これは私を助けませんでした。これを行うと、ゼロ行が返されます。よろしくお願いします。

SELECT 
         DISTINCT 
         DATE_SAMPLE,
         SW_NAME,
         SAMPLE_NUM,
         BU_ID,
         sum(case when ANALYSIS_NAME = 'METHANE-MOL%' then ANALYSIS_RESULT else null end) C1,
         sum(case when ANALYSIS_NAME = 'ETHANE-MOL%' then ANALYSIS_RESULT else null end) C2,
         sum(case when ANALYSIS_NAME = 'PROPANE-MOL%' then ANALYSIS_RESULT else null end) C3
FROM
       (
        SELECT 
                 DISTINCT 
                 sd.SW_NAME,
                 sd.SAMPLE_NUM, 
                 sd.ANALYSIS_RESULT,
                 sd.ANALYSIS_NAME,
                 sd.BU_ID,
                 shv.DATE_SAMPLE 
        FROM 
                 public_project.Sample_Data_Pbu_Lab_Vew sd,
                 public_project.Sample_Header_Vew shv
        WHERE 
                 (sd.SW_NAME LIKE '02-40%') AND                   
                 sd.BU_ID='PBU' AND
                 shv.DATE_SAMPLE > TO_DATE ('2013-01-01', 'YYYY-MM-DD') 
        GROUP BY      
                 sd.SW_NAME,
                 sd.SAMPLE_NUM,
                 sd.ANALYSIS_RESULT,
                 sd.ANALYSIS_NAME,
                 sd.BU_ID,
                 shv.DATE_SAMPLE
       )
GROUP BY 
         DATE_SAMPLE,
         SW_NAME,
         SAMPLE_NUM,
         BU_ID;

クエリ出力のサンプル (これに似た行が数千行あります):

DATE_SAMPL SW_NAME      SAMPLE_NUM    BU_ID      C1         C2         C3
---------- ------------ ------------- ---------- ---------- ---------- ----------
2013-01-01 02-40        PC66207       PBU        79.981     5.192      1.681
2013-01-01 02-40        PC43602       PBU        79.062     5.333      1.862
2013-01-01 02-40        PC44278       PBU
2013-01-01 02-40        PC61178       PBU
2013-01-01 02-40        PC66207       PBU        79.981     5.192      1.681
2013-01-01 02-40        PC43602       PBU        79.062     5.333      1.862
2013-01-01 02-40        PC44278       PBU
2013-01-01 02-40        PC61178       PBU
2013-01-01 02-40        PC66207       PBU        79.981     5.192      1.681
2013-01-01 02-40        PC43602       PBU        79.062     5.333      1.862

テーブルを記述すると、次の結果が得られます。

$SQL> DESCRIBE public_project.Sample_Data_Pbu_Lab_Vew

Name                                      Null?    Type
----------------------------------------- -------- -----------------
API                                                VARCHAR2(16)
SW_NAME                                            VARCHAR2(20)
BU_ID                                              VARCHAR2(30)
PROJECT                                            VARCHAR2(30)
SAMPLE_NUM                                NOT NULL VARCHAR2(15)
ANALYSIS_NAME                             NOT NULL VARCHAR2(80)
ANALYSIS_METHOD_NUM                       NOT NULL VARCHAR2(15)
ANALYSIS_RESULT                                    NUMBER
ANALYSIS_UNITS                                     VARCHAR2(20)
ANALYSIS_RESULT_TEXT                               VARCHAR2(80)
DATE_ANALYZED                                      DATE
LAST_UPDATE_ID                                     VARCHAR2(30)
LAST_UPDATE_DATE                                   DATE

SQL> DESCRIBE public_project.Sample_Header_Vew
Name                                      Null?    Type
----------------------------------------- -------- -----------------
API                                                VARCHAR2(16)
SW_NAME                                            VARCHAR2(20)
BU_ID                                              VARCHAR2(30)
PROJECT                                            VARCHAR2(30)
SAMPLE_NUM                                NOT NULL VARCHAR2(15)
COMMENTS                                           VARCHAR2(500)
DATE_SAMPLE                                        DATE
DATE_RECEIVED                                      DATE
METER_NUM                                          VARCHAR2(4)
PWSID                                              NUMBER
SAMPLE_CATEGORY                                    VARCHAR2(20)
SAMPLE_DESC                                        VARCHAR2(80)
SAMPLE_FACILITY                                    VARCHAR2(18)
SAMPLE_LAB                                         VARCHAR2(15)
SAMPLE_POINT                                       VARCHAR2(80)
SAMPLE_TYPE                                        VARCHAR2(20)
LAST_UPDATE_ID                                     VARCHAR2(30)
LAST_UPDATE_DATE                                   DATE
SAMPLE_DEPTH                                       NUMBER
SAMPLE_DEPTH_REF                                   VARCHAR2(5)
4

0 に答える 0