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

Откуда:
Сообщений: 36
Подскажите как можно сделать аналог ?
declare 
@CharID varchar (max)

set @CharID = (select CharID from _Char where CharName16 like '[GM]%')


print @CharID


только чтоб выводило мне больше чем одно значение
14 май 13, 13:55    [14292659]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Glory
Member

Откуда:
Сообщений: 104760
оставьте только
select CharID from _Char where CharName16 like '[GM]%'
14 май 13, 13:56    [14292667]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
siyoteam
declare 
@CharID table(ID varchar (max))

insert into @CharID(ID) select CharID from _Char where CharName16 like '[GM]%'


select ID from @CharID
14 май 13, 13:58    [14292685]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
siyoteam
Подскажите как можно сделать аналог ?
declare 
@CharID varchar (max)

set @CharID = (select CharID from _Char where CharName16 like '[GM]%')


print @CharID


только чтоб выводило мне больше чем одно значение


Мне кажется, тут нужно экранировать открывающую квадратную скобку, т.е.
where CharName16 like '[[]GM]%'
14 май 13, 14:29    [14292994]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
siyoteam
Member

Откуда:
Сообщений: 36
Паганель
siyoteam
declare 
@CharID table(ID varchar (max))

insert into @CharID(ID) select CharID from _Char where CharName16 like '[GM]%'


select ID from @CharID


Почти то что нужно ) , а можно пример как вывести одновременно с двух запросов
например:

select CharId  from _Char where where CharName16 like '[GM]%' 
select  CurLevel  from _Char where where LatestRegion = '209083'
14 май 13, 16:55    [14294208]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
поставить UNION ALL между этими двумя запросами?
14 май 13, 16:56    [14294227]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Если вот эта конструция
set @CharID = (select CharID from _Char where CharName16 like '[GM]%')
отработает без ошибки , то вот эта
14 май 13, 17:01    [14294273]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
(как меня бесит отправка сообщения на контрл+энтр, ну бред же)
Так вот, если
set @CharID = (select CharID from _Char where CharName16 like '[GM]%')
отработает без ошибки то
select CharId  from _Char where where CharName16 like '[GM]%' 
вернет только одну запись

Если этому условию соответсвует несколько записей, то
 set @CharID = (select CharID from _Char where CharName16 like '[GM]%') 
должен вылитать с
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


Или я не понял о чем речь?
14 май 13, 17:05    [14294312]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Зайцев Фёдор
siyoteam
Подскажите как можно сделать аналог ?
declare 
@CharID varchar (max)

set @CharID = (select CharID from _Char where CharName16 like '[GM]%')


print @CharID



только чтоб выводило мне больше чем одно значение


Мне кажется, тут нужно экранировать открывающую квадратную скобку, т.е.
where CharName16 like '[[]GM]%'
А зачем экранировать?
Надо, небось, чтобы CharName16 начиналось с 'G' или 'M'
14 май 13, 17:08    [14294345]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
siyoteam
Member

Откуда:
Сообщений: 36
iap
Зайцев Фёдор
пропущено...


Мне кажется, тут нужно экранировать открывающую квадратную скобку, т.е.
where CharName16 like '[[]GM]%'
А зачем экранировать?
Надо, небось, чтобы CharName16 начиналось с 'G' или 'M'


Экранировать не нужно , "[GM]" это начало имени персонажа
14 май 13, 18:32    [14295013]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
siyoteam
Member

Откуда:
Сообщений: 36
Cammomile
(как меня бесит отправка сообщения на контрл+энтр, ну бред же)
Так вот, если
set @CharID = (select CharID from _Char where CharName16 like '[GM]%')
отработает без ошибки то
select CharId  from _Char where where CharName16 like '[GM]%' 
вернет только одну запись

Если этому условию соответсвует несколько записей, то
 set @CharID = (select CharID from _Char where CharName16 like '[GM]%') 
должен вылитать с
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


Или я не понял о чем речь?


Ну от мне нужна обойти ошибку эту , нужно спарсить ID итемов по их названию , спарсить нуно что-то типа
14 май 13, 18:33    [14295020]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
siyoteam
Member

Откуда:
Сообщений: 36
[quot siyoteam]
Cammomile
(как меня бесит отправка сообщения на контрл+энтр, ну бред же)
Так вот, если
set @CharID = (select CharID from _Char where CharName16 like '[GM]%')
отработает без ошибки то
select CharId  from _Char where where CharName16 like '[GM]%' 
вернет только одну запись

Если этому условию соответсвует несколько записей, то
 set @CharID = (select CharID from _Char where CharName16 like '[GM]%') 
должен вылитать с
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


Или я не понял о чем речь?


Ну от мне нужна обойти ошибку эту , нужно спарсить ID итемов по их названию , спарсить нуно что-то типа "12101 12121" , парсится все с одной таблици . 68786 ITEM_EU_13_lololo , мне нужно спарсить все итемы в определенном порядке, чтоб их типы были вместе но отлечался уровень . Например : 68786 ITEM_EU_13_lololo и 679798 ITEM_EU_14_lololo. Должно выйти | 68786 |679798 |
14 май 13, 18:36    [14295031]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
siyoteam
Экранировать не нужно , "[GM]" это начало имени персонажа

я так и понял, что "[GM]" - начало имени.
только вот
like '[GM]%'
ищет тех, у кого имя начинается на G или M. почитай справку по like
15 май 13, 12:38    [14298362]     Ответить | Цитировать Сообщить модератору
 Re: Вывод больше одного значения  [new]
Glory
Member

Откуда:
Сообщений: 104760
siyoteam
Например : 68786 ITEM_EU_13_lololo и 679798 ITEM_EU_14_lololo. Должно выйти |
68786 |679798 |

Это называется "аггрегация символьных полей"
Избитая тема из FAQ

PS
Вот почему сразу не оглашать решаемую задачу ?
15 май 13, 12:41    [14298383]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить