Я искал, когда их несколько записей для моей проблемы, они не помогают мне в определении моей синтаксической проблемы.Пользователь существует в SQL
ошибка
только одно выражение может быть указан в списке выбора, когда подзапрос не вводится с EXISTS.
Вот мой код
DECLARE @NewUserID INT;
DECLARE @OldUserID INT;
DECLARE @CID INT;
DECLARE @NewMar VARCHAR;
DECLARE @LocalUserID INT;
DECLARE @CallDate DATETIME;
SET @OldUserID = 1891
SET @NewUserID = 1868;
SET @CID = (SELECT TOP 1 *
FROM contact
WHERE EXISTS (SELECT TOP 1 mar
FROM marselect
WHERE userid = @OldUserID
AND mar NOT LIKE '%branch%')
ORDER BY NEWID());
SET @LocalUserID = 1868;
SET @CallDate = '1900-01-01 00:00:00.000';
--move account to new owner--
UPDATE contact
SET mar = (SELECT TOP 1 *
FROM marselect
WHERE userid = @NewUserID)
WHERE contactid = @cid;
--add history to the account--
INSERT INTO ContactHistory
(contactid,
historydate,
contactResultID,
UserID,
ActivityType,
Note,
StartTime,
Endtime,
CampaignID,
QtyPhones)
VALUES (@CID,
GETDATE(),
96,
@LocalUserID,
'Move',
'Account Reassigned to ' + @NewMar + '',
GETDATE(),
GETDATE(),
0,
NULL);
--add callback to the account--
INSERT INTO callback
(contactid,
userid,
contacthistoryid,
contactLabelRequestID,
callbackDate,
LastcontacthistoryID,
lastattempt,
closed,
closeddate,
closeduserid,
callbacktype,
insertdate,
callnote,
hastime)
VALUES (@CID,
@NewUserID,
0,
NULL,
@CallDate,
0,
NULL,
0,
NULL,
NULL,
'Call',
GETDATE(),
'Call created automatically after account reassigned',
0)
Я не понять, почему мой запрос не работает. Он работает как отдельный запрос, но когда я использую его в этом смысле, он не работает. У меня есть другие ошибки одного и того же типа в коде, но я полагаю, что, если я смогу понять и решить проблему, я уверен, что могу разрешить другие.
ошибка на этой линии-
set @CID = (select top 1 * from contact where exists (select top 1 mar from marselect where userid = @OldUserID and mar not like '%branch%') order by newid());
Возможный дубликат [Только одно выражение может быть указано в списке выбора, если подзапрос не является представленный с помощью EXISTS] (http://stackoverflow.com/questions/1904314/only-one-expression-can-be-specified-in-the-select-list-when-subquery-is-not) – Allan
@Allan , сообщение об ошибке одно и то же, но причины, вызвавшие проблему, различны. :) – David
@David, По общему признанию, это назначение и сравнение, но источник проблемы одинаков: подзапрос предоставляет несколько столбцов, где ожидается один столбец. – Allan