Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проверка  [new]
siyoteam
Member

Откуда:
Сообщений: 36
Подскажите как сделать чтобы если запрос
автор
SELECT * FROM _Items WHERE ID64 IN (SELECT ItemID FROM _Inventory WHERE CharID IN (SELECT (CharID) FROM _Char WHERE CharName16 IN (SELECT (FromCharName) FROM _Memo WHERE CharID = '6374' and Message = @Mssg) ) )and RefItemID = @Item and OptLevel >= @Opt
находил нужные ему данные то он активировал определенную процедуру , а если не находил то ничего не делал )
24 ноя 12, 16:04    [13523629]     Ответить | Цитировать Сообщить модератору
 Re: Проверка  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
if exists ( ... ) exec процедура
24 ноя 12, 16:05    [13523634]     Ответить | Цитировать Сообщить модератору
 Re: Проверка  [new]
Glory
Member

Откуда:
Сообщений: 104760
Проверять с помощью EXISTS()
24 ноя 12, 16:05    [13523635]     Ответить | Цитировать Сообщить модератору
 Re: Проверка  [new]
siyoteam
Member

Откуда:
Сообщений: 36
Вроде сделал но выдает ошибку:
автор
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.




set @toOpt =(SELECT toOptLevel FROM _UpgradeSystem WHERE Mss IN (SELECT Message FROM _Memo WHERE CharID = '6374'))
set @Opt =(SELECT OptLevel FROM _UpgradeSystem WHERE Mss IN (SELECT Message FROM _Memo WHERE CharID = '6374'))
SET @toItem =(SELECT toItem FROM _UpgradeSystem WHERE Mss IN (SELECT Message FROM _Memo WHERE CharID = '6374'))
SET @Item =(SELECT Item FROM _UpgradeSystem WHERE Mss IN (SELECT Message FROM _Memo WHERE CharID = '6374'))
SET @Mssg =(SELECT Message FROM _Memo WHERE CharID = '6374' and Message IN (SELECT Mss FROM _UpgradeSystem WHERE Item =@Item ))
SET @CharName = (SELECT (CharName16) FROM _Char WHERE CharID in (SELECT * FROM _Memo WHERE CharID = '6374' and Message = @Mssg))

if (EXISTS (SELECT * FROM _Items WHERE ID64 IN (SELECT ItemID FROM _Inventory WHERE CharID IN (SELECT CharID FROM _Char WHERE CharName16 IN (SELECT FromCharName FROM _Memo WHERE CharID = '6374' and Message = @Mssg) ) )and RefItemID = @Item and OptLevel >= @Opt))
exec _ADD_ITEM_EXTERN @CharName,@toItem,1,@toOpt
24 ноя 12, 16:40    [13523690]     Ответить | Цитировать Сообщить модератору
 Re: Проверка  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
SET @CharName = (SELECT (CharName16) FROM _Char WHERE CharID in (SELECT * FROM _Memo WHERE CharID = '6374' and Message = @Mssg))


В студии по ошибке не пробовли два раза кликнуть?!
24 ноя 12, 17:43    [13523790]     Ответить | Цитировать Сообщить модератору
 Re: Проверка  [new]
siyoteam
Member

Откуда:
Сообщений: 36
Благодарю
24 ноя 12, 17:51    [13523805]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить