cory_booth
asked on
Access SQL Statement to SQL Server
Is there a way to recreate this Access SQL Command in SQL Server?
Switch([DWELL_DT]=tblACTIV E.BASD And DateDiff("d",tblACTIVE.BAS D,Now())/3 0<24 Or [Dwell_DT]=[PEBD] And DateDiff("d",tblACTIVE.PEB D,Now())/3 0<24 Or [DWELL_DT]=[BESD] And DateDiff("d",tblACTIVE.BES D,Now())/3 0<24,'B',[ DWELL_DT]= tblACTIVE. BASD And DateDiff("d",tblACTIVE.BAS D,Now())/3 0>24 Or [DWELL_DT]=tblACTIVE.PEBD And DateDiff("d",tblACTIVE.PEB D,Now())/3 0>24 Or [DWELL_DT]=tblACTIVE.BESD And DateDiff("d",tblACTIVE.BES D,Now())/3 0>24,'N',[ DWELL_DT]< >tblACTIVE .BASD And DateDiff("d",[DWELL_DT],No w())/30>0 And DateDiff("d",[DWELL_DT],No w())/30<=1 2,'1',[DWE LL_DT]<>tb lACTIVE.BA SD And DateDiff("d",[DWELL_DT],No w())/30>12 And DateDiff("d",[DWELL_DT],No w())/30<=2 4,'2',[DWE LL_DT]<>tb lACTIVE.BA SD And DateDiff("d",[DWELL_DT],No w())/30>24 ,'3',IsNul l([DWELL_D T]),'D') AS Dwell
Switch([DWELL_DT]=tblACTIV
DATEDIFF(dd, urColumn, GETDATE())
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Switch(
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, dbo.EMILPO_SOLD_T.BASD, GETDATE()) / 30 < 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = [dbo.EMILPO_SOLD_T.PEBD] AND DateDiff(dd, dbo.EMILPO_SOLDER_T.PEBD, GETDATE()) / 30 < 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = [dbo.EMILPO_SOLD_T.BESD] AND DateDiff(dd, dbo.EMILPO_SOLDER_T.BESD, GETDATE()) / 30 < 24, 'B',
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, dbo.EMILPO_SOLD_T.BASD, GETDATE()) / 30 > 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = dbo.EMILPO_SOLDER_T.PEBD AND DateDiff(dd, dbo.EMILPO_SOLDER_T.PEBD, GETDATE()) / 30 > 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = dbo.EMILPO_SOLDER_T.BESD AND DateDiff(dd, dbo.EMILPO_SOLDER_T.BESD, GETDATE()) / 30 > 24, 'N',
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] <> dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE())
/ 30 > 0 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE()) / 30 <= 12, '1',
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] <> dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE())
/ 30 > 12 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE()) / 30 <= 24, '2',
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] <> dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE()) / 30 > 24,
'3', IsNull([dbo.EMILPO_SOLD_T. DWELL_ST_D T]), 'D') AS Dwell
I receive errors on the Parse statement
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
/ 30 > 0 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
/ 30 > 12 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
'3', IsNull([dbo.EMILPO_SOLD_T.
I receive errors on the Parse statement
ASKER
CASE WHEN (([dbo.EMILPO_SOLD_T.DWELL _ST_DT] = dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, dbo.EMILPO_SOLD_T.BASD, GETDATE())
/ 30 < 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = [dbo.EMILPO_SOLD_T.PEBD] AND DateDiff(dd, dbo.EMILPO_SOLD_T.PEBD, GETDATE()) / 30 < 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = [dbo.EMILPO_SOLD_T.BESD] AND DateDiff(dd, dbo.EMILPO_SOLD_T.BESD, GETDATE()) / 30 < 24) THEN 'B',
([dbo.EMILPO_SOLD_T.DWELL_ ST_DT] = dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, dbo.EMILPO_SOLD_T.BASD, GETDATE()) / 30 > 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = dbo.EMILPO_SOLD_T.PEBD AND DateDiff(dd, dbo.EMILPO_SOLD_T.PEBD, GETDATE()) / 30 > 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S T_DT] = dbo.EMILPO_SOLD_T.BESD AND DateDiff(dd, dbo.EMILPO_SOLD_T.BESD, GETDATE()) / 30 > 24) THEN 'N',
([dbo.EMILPO_SOLD_T.DWELL_ ST_DT] <> dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE())
/ 30 > 0 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE()) / 30 <= 12) THEN '1',
([dbo.EMILPO_SOLD_T.DWELL_ ST_DT] <> dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE())
/ 30 > 12 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE()) / 30 <= 24) THEN '2',
([dbo.EMILPO_SOLD_T.DWELL_ ST_DT] <> dbo.EMILPO_SOLD_T.BASD AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S T_DT], GETDATE())
/ 30 > 24) THEN '3', (IsNull([dbo.EMILPO_SOLD_T .DWELL_ST_ DT]) THEN 'D')) END AS Dwell
Incorrect keyword near "THEN"
/ 30 < 24 OR
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
([dbo.EMILPO_SOLD_T.DWELL_
[dbo.EMILPO_SOLD_T.DWELL_S
[dbo.EMILPO_SOLD_T.DWELL_S
([dbo.EMILPO_SOLD_T.DWELL_
/ 30 > 0 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S
([dbo.EMILPO_SOLD_T.DWELL_
/ 30 > 12 AND DateDiff(dd, [dbo.EMILPO_SOLD_T.DWELL_S
([dbo.EMILPO_SOLD_T.DWELL_
/ 30 > 24) THEN '3', (IsNull([dbo.EMILPO_SOLD_T
Incorrect keyword near "THEN"
ASKER
Looked up the case statement,
Had to throw in the WHENS
Had to throw in the WHENS