VinnarenMedlem sedan sep. 2005858 inlägg
Har följande:
SELECT (c.FirstName+' '+c.LastName) AS Name,
(SELECT TOP 1 (ms.FromTime+'-'+ms.ToTime) FROM Schedule AS ms INNER JOIN [Status] AS s ON s.StatusId = ms.StatusId WHERE ms.ChildId = c.ChildId AND YEAR(ms.Date) = @Year AND DatePart(ww, ms.Date) = @Week AND DATEPART(dw, ms.Date) = 2) AS Monday
FROM Child AS c
När Monday är null så vill jag istället för att returnera null returnera s.Name, skulle även s.Name vara null ska saknas returneras i Monday.
Hur löser man detta??
Tacksam för all hjälp :stud
Peter SMedlem sedan dec. 20025 484 inlägg
(SELECT TOP 1 coalesce(ms.FromTime+'-'+ms.ToTime,coalesce(s.Name,'saknas')) FROM Schedule AS ms INNER JOIN [Status] AS s ON s.StatusId = ms.StatusId WHERE ms.ChildId = c.ChildId AND YEAR(ms.Date) = @Year AND DatePart(ww, ms.Date) = @Week AND DATEPART(dw, ms.Date) = 2) AS Monday
VinnarenMedlem sedan sep. 2005858 inlägg
tack, men resultatet blir detsamma. Monday innehåller null :r
Peter SMedlem sedan dec. 20025 484 inlägg
Iiih! Inlägget är uppdaterat :)
VinnarenMedlem sedan sep. 2005858 inlägg
tack, men det blir fortfarande null :(
Peter SMedlem sedan dec. 20025 484 inlägg
Hm, så här då:
(SELECT TOP 1 case when ms.FromTime is null or ms.ToTime is null then coalesce(s.Name, 'saknas') else ms.FromTime+'-'+ms.ToTime end FROM Schedule AS ms INNER JOIN [Status] AS s ON s.StatusId = ms.StatusId WHERE ms.ChildId = c.ChildId AND YEAR(ms.Date) = @Year AND DatePart(ww, ms.Date) = @Week AND DATEPART(dw, ms.Date) = 2) AS Monday
LarsGMedlem sedan dec. 200012 465 inlägg
coalesce((select ...),'saknas')
Om subselecten inte hittar någon post så returnerar den null
VinnarenMedlem sedan sep. 2005858 inlägg