SQL - Как да умножим ред в зависимост от стойноста на някое поле.

Категория:

Първо ще покажа няколко примера с които можете да създадете подредена редица от номера.
Те са нужни за примера след това.
Ето и кода:

select row_number() OVER (order by cislo_subjektu) as num from lcs.kmenova_karta_skladu

select top 100
(select count(ss.cislo_subjektu) from lcs.kmenova_karta_skladu ss 
where s.cislo_subjektu >= ss.cislo_subjektu)
as number
from lcs.kmenova_karta_skladu s

И финалния код :

select cislo_subjektu,reference_subjektu from lcs.product_order po
-- Този код може да се смени с един от двата начина показани по горе
-- Може да полвате и таблица в която има уникално поле със стойности 1,2,3 и т.н
inner join (select top 100
(select count(ss.cislo_subjektu) from lcs.kmenova_karta_skladu ss 
where s.cislo_subjektu >= ss.cislo_subjektu)
as number
from lcs.kmenova_karta_skladu s
order by s.cislo_subjektu) n on ( n.number <= po.qty)
-- Заменя се до буквата n 
where cislo_subjektu = '1919067'

Резултата от цялата операция би трябвало да е следния.

име_на_колона | брой
Ime1            2
 
Резултат 
Ime1          | 2
Ime1          | 2

От един ред получаваме 2 ако бройката е 5 ще получим 5 реда и т.н

Коментари

Нов коментар

Съдържанието на това поле е поверително и няма да бъде показвано публично.
  • Адресите на уеб-страници и имейл-адресите автоматично се конвертират в хипервръзки.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre><img>
  • Редовете и параграфите се оформят автоматично.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Повече информация за форматиращите опции

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
4 + 2 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.