А можно ли одним запросом?
kulpavel
Дата: 09.10.2003 19:55:43
Здравствуйте все!
Есть табличка
int code - код товара
int spec - обозначение данной конфигурации
поля конфигурации
Ну то есть продукты (например номер 10) и их разл конфигурации(окраска, сборка ... ). Вот. Поле spec нужно заполнить 1000+(code*10)+порядковый_номер_этой_записи_для_этого_продукта.
Например
10 1101 (1000+100+1 - запись встретилась первый раз для этого продукта 10)
10 1102 (1000+100+2 - запись встретилась 2 раз для этого продукта 10)
12 1201 (1000+120+1 - запись встретилась 1 раз для этого продукта 12)
10 1103 (1000+100+3 - запись встретилась 3 раз для этого продукта 10)
......
можно ли ето сделать 1 запросом или придется использовать курсоры?
Glory
Дата: 09.10.2003 20:20:58
А первичного ключа опять же нету ???
kulpavel
Дата: 09.10.2003 20:24:16
есть конечно... int codeID
просто не дописал...
uagg
Дата: 09.10.2003 20:32:40
Тот факт, что такого понятия как порядок записей, вне контекста примененной сортировки, не существует разумеется не смущает :)
kulpavel
Дата: 09.10.2003 20:38:43
предполагается сортировка по дате ( ну или codeID = Identity)
просто нужно в spec видеть номер конфиги (просто для удобства) никаких смысловых целей это поле не несет. все связи осуществляются по первичному ключу codeID.
kulpavel
Дата: 09.10.2003 21:06:55
вроде было где-то на форуме... но не могу чего-то найти.. :(
или не гемороится и сделать на курсоре???
Valera-x
Дата: 10.10.2003 06:50:38
create table #a([id] int Identity(1,1),codeID int)
insert #a (codeID) values(1)
insert #a (codeID) values(2)
insert #a (codeID) values(3)
insert #a (codeID) values(4)
insert #a (codeID) values(5)
insert #a (codeID) values(6)
insert #a (codeID) values(1)
insert #a (codeID) values(5)
insert #a (codeID) values(4)
insert #a (codeID) values(1)
insert #a (codeID) values(10)
insert #a (codeID) values(10)
insert #a (codeID) values(12)
insert #a (codeID) values(10)
select *,spec=(1000+codeID*10)+(select count([id]) from #a where codeID=a.codeID and [id]<=a.[id])
from #a as a
|
|
kulpavel
Дата: 10.10.2003 11:47:27
Спасибо большое! то что надо!!!