Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 Query Not working

Author  Topic 

Shutts318ci
Starting Member

1 Post

Posted - 2006-03-03 : 04:16:10
Hi, I am having problems with a DATEDIFF function in my query. I know the function works, but when using it in an innerjoin, it does not seem to be working.

Could you take a look at this query and see if you can see anything galringly obvious? If I take the whole DATEDIFF function out, the resulting table is exactly the same.

select max(sites.SiteName) as 'SiteName', isnull(patch.Status0,'unknown') AS 'Status', count(wave.name0) as 'Site Count' from ( SELECT dbo.v_R_System.ResourceID, dbo.v_R_System.Name0 FROM dbo.v_R_System INNER JOIN dbo.v_GS_TOPAZ_CLIENT ON dbo.v_R_System.ResourceID = dbo.v_GS_TOPAZ_CLIENT.ResourceID WHERE
dbo.v_GS_TOPAZ_CLIENT.ActivePatchGroup0 = 'WAVE3' ) wave left outer join ( select dbo.v_GS_TOPAZ_CLIENT.ResourceID, dbo.v_GS_PATCHSTATE.Status0 from dbo.v_GS_TOPAZ_CLIENT inner join dbo.v_GS_PATCHSTATE on dbo.v_GS_TOPAZ_CLIENT.ResourceID = dbo.v_GS_PATCHSTATE.ResourceID inner join dbo.v_GS_WORKSTATION_STATUS on dbo.v_GS_TOPAZ_CLIENT.ResourceID = dbo.v_GS_WORKSTATION_STATUS.ResourceID where
dbo.v_GS_TOPAZ_CLIENT.ActivePatchGroup0 = 'WAVE3' and dbo.v_GS_PATCHSTATE.ID0 = 'MS05-053' and (DATEDIFF([Day], dbo.v_GS_WORKSTATION_STATUS.LastHWScan, GETDATE()) <= 35) ) patch on wave.ResourceID = patch.ResourceID left outer join dbo.System_SMS_Instal_ARR ON wave.ResourceID = dbo.System_SMS_Instal_ARR.ItemKey left outer join dbo.Sites ON dbo.System_SMS_Instal_ARR.SMS_Installed_Sites0 = dbo.Sites.SiteCode group by sites.SiteName, status0 order by sites.SiteName, Status0

khtan
In (Som, Ni, Yak)

17689 Posts

Posted - 2006-03-03 : 04:57:17
Wow ! That is a bit difficult to read.

Now this is much better.

select max(sites.SiteName) as 'SiteName',
isnull(patch.Status0,'unknown') as 'Status',
count(wave.name0) as 'Site Count'
from
(
select dbo.v_R_System.ResourceID,
dbo.v_R_System.Name0
from dbo.v_R_System inner join dbo.v_GS_TOPAZ_CLIENT
on dbo.v_R_System.ResourceID = dbo.v_GS_TOPAZ_CLIENT.ResourceID
where dbo.v_GS_TOPAZ_CLIENT.ActivePatchGroup0 = 'WAVE3'
) wave
left outer join
(
select dbo.v_GS_TOPAZ_CLIENT.ResourceID,
dbo.v_GS_PATCHSTATE.Status0
from dbo.v_GS_TOPAZ_CLIENT inner join dbo.v_GS_PATCHSTATE
on dbo.v_GS_TOPAZ_CLIENT.ResourceID = dbo.v_GS_PATCHSTATE.ResourceID
inner join dbo.v_GS_WORKSTATIon_STATUS
on dbo.v_GS_TOPAZ_CLIENT.ResourceID = dbo.v_GS_WORKSTATIon_STATUS.ResourceID
where dbo.v_GS_TOPAZ_CLIENT.ActivePatchGroup0 = 'WAVE3'
and dbo.v_GS_PATCHSTATE.ID0 = 'MS05-053'
and (datediff([Day], dbo.v_GS_WORKSTATIon_STATUS.LastHWScan, getdate()) <= 35)
) patch
on wave.ResourceID = patch.ResourceID
left outer join dbo.System_SMS_Instal_ARR
on wave.ResourceID = dbo.System_SMS_Instal_ARR.ItemKey
left outer join dbo.Sites
on dbo.System_SMS_Instal_ARR.SMS_Installed_Sites0 = dbo.Sites.SiteCode
group by sites.SiteName, status0
order by sites.SiteName, Status0


----------------------------------
'KH'


Go to Top of Page
   

- Advertisement -