Удалить строку из сводки SQL, когда поля пустые - PullRequest
0 голосов
/ 27 мая 2019

Приведенный ниже запрос генерирует пустые значения в строке.

- Упростите запрос выбора сводной таблицы, разделив запрос с помощью предложения with

WITH pivot_data AS(
    SELECT va.identity,
    vc.units,
    s.field_name "Sample ID",
    s.id_text "Lab ID",
  TO_CHAR(str.result_value, S_FORMATMASK_PACKAGE.s_FormatMask(vc.analysis, s.id_numeric))result_value
  FROM sample s
  LEFT OUTER JOIN client c                ON c.id                 = s.client_id
  LEFT OUTER JOIN samp_test_result str    ON (s.id_numeric        = str.id_numeric
                                          AND s.id_text            = str.id_text and str.result_value is not null)
  LEFT OUTER JOIN versioned_analysis va   ON (va.identity         = str.analysis)
  LEFT OUTER JOIN versioned_component vc  ON (vc.analysis         = va.identity
                                          AND vc.analysis_version = va.analysis_version
                                          AND vc.name             = str.component_name)
  WHERE s.fas_sample_type = sample_pkg.get_leaf_sample
  AND s.status            = sample_pkg.get_authorised_sample
  AND s.flg_released      = constant_pkg.get_true
  AND vc.flg_report       = constant_pkg.get_true
  AND c.id = UPPER ('I000009')
  AND s.ID_NUMERIC between TO_NUMBER(2126) and TO_NUMBER(12917) and str.result_value <> 0
  )
SELECT pvt1.*
FROM(SELECT * FROM pivot_data PIVOT (MAX(result_value) result_value, MAX(units) units  FOR identity IN('NIR_N' "Nitrogen",
                                                                                                  'XRF_P' "Phosphorus",
                                                                                                  'XRF_K' "Potassium", 
                                                                                                  'XRF_CA' "Calcium",
                                                                                                  'XRF_MG' "Magnesium",
                                                                                                  'XRF_S' "Sulphur",
                                                                                                  'XRF_SI' "Silicon",
                                                                                                  'XRF_ZN' "Zinc", 
                                                                                                  'XRF_MN' "Manganese", 
                                                                                                  'XRF_CU' "Copper", 
                                                                                                  'XRF_FE' "Iron")))  pvt1

Как удалить строку, содержащую пустые поля

...