CASE Statement within a CASE

  • If i have understood correctly.........

    CASE WHEN tbMeasurement.MonitoredLocationCode = 'FUGITIVE_TOTAL' THEN ISNULL(tbMeasurement.NumericResult,0) END AS 'FUGITIVE_TOTAL'

    ,CASE WHEN tbMeasurement.MonitoredLocationCode = 'ACCIDENTAL_TOTAL' THEN ISNULL(tbMeasurement.NumericResult,0) END AS 'ACCIDENTAL TOTAL'

    "Keep Trying"

  • Using ISNULL?

    [font="Courier New"]SELECT m.MonitoredEntityCode,

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_1' THEN m.NumericResult END AS 'EMISSION_POINT_1',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_2' THEN m.NumericResult END AS 'EMISSION_POINT_2',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_3' THEN m.NumericResult END AS 'EMISSION_POINT_3',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_4' THEN m.NumericResult END AS 'EMISSION_POINT_4',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_5' THEN m.NumericResult END AS 'EMISSION_POINT_5',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_6' THEN m.NumericResult END AS 'EMISSION_POINT_6',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_7' THEN m.NumericResult END AS 'EMISSION_POINT_7',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_8' THEN m.NumericResult END AS 'EMISSION_POINT_8',

       CASE WHEN m.MonitoredLocationCode = 'EMISSION_POINT_9' THEN m.NumericResult END AS 'EMISSION_POINT_9',

       CASE WHEN m.MonitoredLocationCode = 'FUGITIVE_TOTAL'   THEN ISNULL(m.NumericResult, 0) END AS 'FUGITIVE_TOTAL',

       CASE WHEN m.MonitoredLocationCode = 'ACCIDENTAL_TOTAL' THEN ISNULL(m.NumericResult, 0) END AS 'ACCIDENTAL TOTAL',

       m.SampleID, m.ParameterCode,

       p.ParameterDescription,

       e.M_C_E, e.MethodCode, e.Description

    FROM tbMeasurement m

    INNER JOIN tbParameter p ON m.ParameterCode = p.ParameterCode

    INNER JOIN tbMeasurementExtraData e ON m.ParameterCode = e.ParameterCode

       AND m.SampleID = e.SampleID

       AND m.MonitoredLocationCode = e.MonitoredLocationCode

       AND m.MonitoredEntityCode = e.MonitoredEntityCode

    [/font]

    Cheers

    ChrisM

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden

Viewing 2 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply