Link to home
Start Free TrialLog in
Avatar of d0nMaTTi
d0nMaTTiFlag for Finland

asked on

conditional From statemetn

My purpose is select w_id and w_name -fields from workstations table
and the latest date (s_started) from stat -table if workstations.w_clientversion=1 or statindex-table
if workstations.w_clientversion = 3.
Both tables (stat and statindex) have same structure.

I tried to run following select-clause :

select workstations.w_id,workstations.w_name,workstations.w_clientversion,
(select max(s_started) from (
case workstations.w_clientversion
when 1 then [stats] else [statindex] end)) as latestdate
from workstations

but i got an following error message:
'Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'case'.'

Is it anyhow possible to constitute conditional from -clause using case when structure?
ASKER CERTIFIED SOLUTION
Avatar of appari
appari
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
you can do this

select workstations.w_id, workstations.w_name, workstations.w_clientversion,
case workstations.w_clientversion when 1 then (select max(s_started) from [stats])
     else (select max(s_started) from [statindex]) end as latestdate
from workstations
Avatar of d0nMaTTi

ASKER

thank's for answers.

Both works fine