VVinnarenMedlem sedan sep. 2005833 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
PPeter SMedlem sedan dec. 20025 483 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
VVinnarenMedlem sedan sep. 2005833 inlägg tack, men resultatet blir detsamma. Monday innehåller null :r
PPeter SMedlem sedan dec. 20025 483 inlägg Iiih! Inlägget är uppdaterat :)
VVinnarenMedlem sedan sep. 2005833 inlägg tack, men det blir fortfarande null :(
PPeter SMedlem sedan dec. 20025 483 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
LLarsGMedlem sedan dec. 200012 464 inlägg coalesce((select ...),'saknas')
Om subselecten inte hittar någon post så returnerar den null