[ vladislavl @ 22.02.2009. 22:50 ] @
U tabeli se nalazi polje sa numerickom vrednoscu. Upit treba da vrati isti red onoliko puta kolika je vrednost u polju Primer: Podaci: 2 3 Rezultat: 2 2 3 3 3 Ima li neko resenje Hvala |
[ vladislavl @ 22.02.2009. 22:50 ] @
[ jablan @ 22.02.2009. 23:41 ] @
Ja nemam, al me interesuje šta će ti to.
[ vladislavl @ 22.02.2009. 23:55 ] @
Najjednostavnije,
neki red, u stampi treba ponoviti vise puta, ali nije uvek isti broj puta Npr. stampa nalepnica. [ vladislavl @ 23.02.2009. 00:52 ] @
Reseno za ASA Sybase extenziju sto mi je i trebalo
select x.kolic from x, lateral( select * from sa_rowgenerator( 1, x.kolic ) ) as y ali i dalje ostaje da li moze sa ANSI SQL-om bez vendor extenzija. [ Zidar @ 23.02.2009. 18:37 ] @
Moze i u standard SQL. Potrebno je imati pomocnu tabelu brojeva.
Code: CREATE TABLE [dbo].[Brojevi] ( [BROJ] [int] NOT NULL PRIMARY KEY CLUSTERED ) Onda je nekako napunis brojevima od 0 do N, gde je N neki veliki broj, recimo 100,000 ili slicno. Trebalo bi da se dobije nseto ovako: Code: SELECT Broj FROM Brojevi WHERE Broj <=3 Broj ----------- 0 1 2 3 Zamisli sad da imas tabelu Osobe (Ime varchar(50) kja isgleda ovako: Code: SELECT * FROM Osobe Ime ------------------------- Cica Goca Laza Maca Melanija Pera Verica Zika Ako hoces svako Ime iz tabele Osobe da ispises 3 puta, onda kucas ovakav izraz Code: SELECT broj, ime FROM Brojevi, Osobe WHERE Broj BETWEEN 1 AND 3 ORDER BY Ime, Broj -- rezultta: broj ime ----------- ------------------------- 1 Cica 2 Cica 3 Cica 1 Goca 2 Goca 3 Goca 1 Laza 2 Laza Ovo je kao da celu tabelu Osobe na 'pomnozis' sa tabelom Brojevi. Za tvoj slucaj, ide ovako: Code: CREATE TABLE Roba (Artikl varchar(50) , Kolicina int ) INSERT INTO Roba VALUES ('Jabuke',3) INSERT INTO Roba VALUES ('Kruske',2) INSERT INTO Roba VALUES ('Kupus',4) SELECT * FROM Roba; Artikl Kolicina -------------------------------------------------- ----------- Jabuke 3 Kruske 2 Kupus 4 Kveri koji svaki artikl ispisuje onoliko puta koliko pise u koloni Kolicina izgleda ovako: Code: SELECT ARtikl, Kolicina, Broj FROM Roba, Brojevi WHERE Brojevi.Broj BETWEEN 1 AND Roba.Kolicina ORDER BY Artikl, Broj Sam mozes da proveris rezultat. Ovo ti je kao kod teskih zadataka u matematici, kad ti neko kaze 'dodaj (1+2x) na obe strane jednacine.... Tako smo ovde dodali pomocnu tabelu koja nam je resila problem na veoma jednostavan nacin. ![]() ![]() [ zeppelin @ 06.03.2009. 23:34 ] @
ma bravo genije, upravo sam hteo da postavim novu temu posle vise od dva sata cimanja.
![]() [Ovu poruku je menjao zeppelin dana 07.03.2009. u 00:57 GMT+1] Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|