Использование SQL Server 2008Как добавить столбец, полученный из оператора select в выражении select?
Цель: Выберите серию колонок из table1 для вставки в table2
Выпуск: В table2 есть один дополнительный столбец, который должен быть вставлен, которые могут быть получены из соединение между table1 и таблицей 3
текущего кодом
SELECT
table1.name,
table1.email,
table1.phone,
CASE WHEN table1.status = 'active' THEN 1 ELSE 0 END AS Active,
CASE WHEN table1.group_id = 3 THEN 5 ELSE table1.group_id END AS RoleId,
(SELECT
table3.UserID AS ParentID
FROM
table3
INNER JOIN
table1 ON
table3.ID = table1.table3_ID)
FROM
table1
WHERE
table1.group_id = 3 AND
table1.status = 'active'
В настоящее время этот код не работает и возвращает ошибку «Подзапрос возвратил более 1 значения». Я знаю, что это может быть неправильный способ использования вложенного выбора, что было бы правильным способом сделать это?
При необходимости могут быть предоставлены дополнительные данные. Спасибо заранее.
Есть ли причина, по которой вы не можете присоединиться к таблице1 и таблице3 в своем предложении? –
Спасибо, что все ответы были хорошими, тот, который я использовал, тот, который я проверил. Я бы проголосовал за всех, но у меня нет репутации –
. Дополнительная информация по этой проблеме на случай, если кому-то интересно. Используя TOP-x, я смог понять, что в таблицу были введены дубликаты, вопрос. Быстрые COUNT и GROUP BY показали дублированные идентификаторы –