У меня есть этот запрос.
SELECT ISNULL(x.lastLogin,0) AS lastLogin
FROM
(
SELECT u.id,u.lastLogin,u.isAdmin,row_number()
OVER(PARTITION BY u.clientid ORDER BY u.lastLogin DESC) AS rownumber
FROM users u
WHERE (u.isAdmin = -1 AND u.clientid = xxx) AND u.userid Not IN
(
SELECT userID
FROM Table1
WHERE groupID =
(SELECT groupID FROM Table2
WHERE clientid = xxx
AND groupName = 'Group 1')
)
)x
WHERE x.rownumber = 1
Я искал и пробовал различные методы, но, кажется, не могу получить значение, когда из подзапроса извлекается ноль строк.
Значения, которые можно извлечь из подзапроса, являются действительной датой, равными нулю, если дата не указана и строка не возвращена. Когда я использую текущий запрос, я получу правильную дату, если она существует, 1900-01-01, если она пуста, но когда возвращается ноль строк, я не могу получить значение, с которым я могу что-то сделать. Я просто получаю заголовок столбца lastlogin, а не значение. Как мне получить набор значений?