-1

Here is my SQL Query:

SELECT *
,CASE WHEN (ETA>10 OR Class='EOL') THEN 'Eligible' ELSE 'Not Applicable' END AS Eligible
FROM XYZtable

The result is:

PN  PD  ETA Class   BU  Serial  Comm    frmToday    Eligible
CX  CRD 03-10   IP  07  2322    CARD    3   Not Applicable
BX  CRD 03-18   IP  05  2324    CARD    11  Eligible
MX  CRD 03-10   EOL 07  2325    CARD    3   Not Applicable

I want the below mentioned results in the Eligible Column:

If ETA > 10 THEN 'Eligible'
If Class = 'EOL' THEN 'Consult Plz'
Else 'Not Applicable'

Thanks.

Yannick Meeus
  • 5,643
  • 1
  • 35
  • 34
TheDProgrammer
  • 95
  • 2
  • 4
  • 13

2 Answers2

5
SELECT *,
      CASE WHEN ETA>10 THEN 'Eligible' 
      WHEN Class = 'EOL' THEN 'Consult Plz' 
      ELSE 'Not Applicable' END AS Eligible
FROM XYZtable
Mansfield
  • 14,445
  • 18
  • 76
  • 112
1
CASE 
    WHEN <condition> THEN <value>
    WHEN <condition> THEN <value>
    WHEN <condition> THEN <value>
    WHEN <condition> THEN <value>
    ELSE <value>
END

or if you need to nest you can

CASE 
    WHEN <condition> THEN 
        CASE <othercondition> THEN <value>
        ELSE <othervalue> END
END

in your CASE,

CASE 
    WHEN ETA > 10 
        THEN 'Eligible' 
    WHEN Class = 'EOL' 
        THEN 'Consult Plz'
    ELSE 'Not Applicable' 
END
Felype
  • 3,087
  • 2
  • 25
  • 36