Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Help with query
Message
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Titre:
Versions des environnements
SQL Server:
SQL Server 2008
Divers
Thread ID:
01442015
Message ID:
01442025
Vues:
21
Naomi...I'm sorry, I don't understand with the cte part I guess. I added the order, but I'm just wanting to return only one record that is why the top 1 was in there, which one didn't make a difference.
	  set @AlternateChairToSchedule=0
	  set @AlternateChairToSchedule=
		isnull((select top 1 ch.ChairID
	    from @Chairs ch
	    where ch.ChairID not in 
	    (Select roomid from @Cases c
			  where ((@ScheduledStartDateTime > begintime and @ScheduledStartDateTime < c.endtime)
			   or ( @ScheduledEndDateTime  > c.begintime and @ScheduledEndDateTime < c.endtime)
			   or ( c.begintime > @ScheduledStartDateTime and c.begintime < @ScheduledEndDateTime)
			   or ( c.endtime > @ScheduledStartDateTime and c.endtime < @ScheduledEndDateTime )
			   or ( @ScheduledStartDateTime= c.begintime and @ScheduledEndDateTime = c.endtime)
		 ))),0)
		if (@AlternateChairToSchedule>0)
                              print 'Alternate Chair ID: '+cast(@AlternateChairToSchedule as varchar(5))
Try
;with cte as (Select roomid from @Cases c
				  where ((@ScheduledStartDateTime > begintime and @ScheduledStartDateTime < c.endtime)
				   or ( @ScheduledEndDateTime  > c.begintime and @ScheduledEndDateTime < c.endtime)
				   or ( c.begintime > @ScheduledStartDateTime and c.begintime < @ScheduledEndDateTime)
				   or ( c.endtime > @ScheduledStartDateTime and c.endtime < @ScheduledEndDateTime )
				   or ( @ScheduledStartDateTime= c.begintime and @ScheduledEndDateTime = c.endtime))

select top (1) @AlternateChairToSchedule = ISNULL(ch.ChairID,0) from @Charis ch 
where not exists (select 1 from cte) ORDER BY ch.ChairID
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform