The [authorityID] (TinyInt)
column will never be null
.
What I want is to return a 15
if there are no rows. With the query below I
As you noted, if the query returns no rows, there's nothing to apply the isnull
on. One dirty trick is to use union all
and (ab)use the top
construct:
SELECT TOP 1 authorityID
FROM (SELECT authorityID
FROM [docAuthority] WITH (nolock)
WHERE [grpID] = 0 AND [sID] = 42
UNION ALL
SELECT 15) t
SELECT authorityId = isnull(( SELECT [authorityID]
FROM [docAuthority] WITH ( NOLOCK )
WHERE [grpID] = 0
AND [sID] = 42
), 15)