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

Откуда: Челябинск
Сообщений: 36
Здравствуйте, наверное глупый вопрос, но сам его не могу пока что решить, в голову лезут мысли о добавлении числа,
но какой функцией сделать чтобы он нумеровал все строки то есть начиная с 1 и до бесконечности(прибавлял к названию через пробел) гугл кроме row_number ничего не выдает
может вы подскажите какую функцию использовать

К сообщению приложен файл. Размер - 6Kb
1 ноя 16, 10:54    [19844916]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
heho,

и row_number вам не подходит потому что .... ?
1 ноя 16, 10:56    [19844931]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
heho,

Вам хранить или в запросе получать?
1 ноя 16, 10:57    [19844936]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
heho
Member

Откуда: Челябинск
Сообщений: 36
TaPaK,
потому что он делает немного другое, мне нужно в самом после "имя" в каждом имени добавлялась цифра 1 и т.д. в зависимости от id
1 id = 1 цифре и т.д
1 ноя 16, 10:58    [19844944]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
heho
Member

Откуда: Челябинск
Сообщений: 36
Mike_za,
для начала получить в запросе и после хранить)
1 ноя 16, 10:59    [19844949]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2415
heho
TaPaK,
потому что он делает немного другое, мне нужно в самом после "имя" в каждом имени добавлялась цифра 1 и т.д. в зависимости от id
1 id = 1 цифре и т.д


"имя" + cast(row_number ... as nvarchar)
1 ноя 16, 11:00    [19844961]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
heho,

SELECT CONCAT(CAST(ROW_NUMBER() OVER (ORDER BY 1/0) as VARCHAR(10)),' ',Name) FROM sys.objects
1 ноя 16, 11:01    [19844965]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
aleksrov
Member

Откуда:
Сообщений: 948
heho
TaPaK,
потому что он делает немного другое, мне нужно в самом после "имя" в каждом имени добавлялась цифра 1 и т.д. в зависимости от id
1 id = 1 цифре и т.д


Эм... Если есть поле Name и есть поле ID, а вам нужно Name + ID то в чем проблема собственно?
1 ноя 16, 11:01    [19844967]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
heho
Member

Откуда: Челябинск
Сообщений: 36
TaPaK,
Спасибо огромное, но как это в итоге добавить в базу, через update? и можно ли после названия это записывать?
1 ноя 16, 11:06    [19845001]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
heho
TaPaK,
Спасибо огромное, но как это в итоге добавить в базу, через update? и можно ли после названия это записывать?

если есть identity поле то так и проапдейтите, или добавьте вычисляемое поле
1 ноя 16, 11:08    [19845016]     Ответить | Цитировать Сообщить модератору
 Re: Добавление Номеров  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1972
heho
TaPaK,
Спасибо огромное, но как это в итоге добавить в базу, через update? и можно ли после названия это записывать?


Если у Вас есть таблица

create table testtable
(id int identity, --нумерация строк
name nvarchar(40));

go

insert into testtable(name)
values ('Vasya');


и Вам нужно в конкретном запросе получить в одном поле значения id и name через пробел, то пишите в запросе:

 select name + N' ' + convert(nvarchar(11),id) as nameid
 from testtable


Второй вариант - с вычисляемым столбцом:

create table testtable
(id int identity, --нумерация строк
 name nvarchar(40),
 nameid as name + N' ' + convert(nvarchar(11),id)
 );
go
insert into testtable(name)
values ('Vasya');

select nameid 
from testtable

В данном случае вычисляемое значение хранится в самой таблице.

В обоих случаях итог один и тот же:

nameid
Vasya 1
2 ноя 16, 23:18    [19853064]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить