cancel
Showing results for 
Search instead for 
Did you mean: 

IF statement in SELECT statement

Former Member
7,904

Hi Guys,

I need some help here. I'm trying to put a logical statement into my output statement but apparently it doesn't work. Script as below:

UNLOAD
    SELECT 
        REPLACE((SUBSTRING(dbo.dly_srv_prd_trk_ttl.business_date,1,7)),'-','0'),
        DATEFORMAT(dbo.dly_srv_prd_trk_ttl.business_date,'dd/mm/yyyy'),
        dbo.dly_srv_prd_trk_ttl.trk_ttl_01,
        DATEFORMAT(dbo.dly_srv_prd_trk_ttl.business_date,'dd'),
        dbo.dly_srv_prd_trk_ttl.rvc_seq,
        IF (SELECT rest_name FROM dbo.rest_def)='Safari' THEN SELECT STRING('AWS') ELSE    SELECT STRING('SCT') END IF,
    FROM dbo.dly_srv_prd_trk_ttl

TO 'D:\\SUN\\DATA.txt' FORMAT FIXED

I have tested each of the statement inside and they are working when running alone. Error prompts "Syntax error near 'SELECT' on line 7".

Please help 😞

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

well try this

IF 'Safari' IN (SELECT rest_name FROM dbo.rest_def)THEN ('AWS') ELSE ('SCT') END IF

0 Kudos

ENDIF for compatibility with any SA version.

Answers (1)

Answers (1)

t1950
Participant

try this if answer 2 doesn't work
IF (SELECT rest_name FROM dbo.rest_def)='Safari' THEN 'AWS' ELSE 'SCT' END IF
BTW your original SQL also has a comma after the end if