Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

interesantan upit

[es] :: MS SQL :: interesantan upit

[ Pregleda: 3157 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

surferxyz

Član broj: 45411
Poruke: 55
195.222.35.*



Profil

icon interesantan upit24.11.2006. u 07:29 - pre 212 meseci
Imam tabelu sa sledećim sadržajem
Code:

alex            a
alex            b
alex            c
nick            a
nick            b

Trebao bih select koji bi mi vratio ovakav rezultat
Code:

alex            a,b,c
nick            a,b

Znam da to mogu riješiti pomoću kursora i pomoćnih tabela, al me interesuje jel postoji neko elegantnije rješenje.

Hvala.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: interesantan upit24.11.2006. u 08:11 - pre 212 meseci
Citat:
surferxyz:
Znam da to mogu riješiti pomoću kursora i pomoćnih tabela, al me interesuje jel postoji neko elegantnije rješenje.

Kratko i jasno: NE

 
Odgovor na temu

surferxyz

Član broj: 45411
Poruke: 55
195.222.35.*



Profil

icon Re: interesantan upit24.11.2006. u 08:18 - pre 212 meseci
Mnogo HVALA
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: interesantan upit24.11.2006. u 08:44 - pre 212 meseci
NEMA na cemu
 
Odgovor na temu

surferxyz

Član broj: 45411
Poruke: 55
195.222.35.*



Profil

icon Re: interesantan upit24.11.2006. u 12:10 - pre 212 meseci
Ima, ima.
Najgora stvar u programiranju je ta kada nešto pokušavaš, a onda skontaš da je to nemoguće.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: interesantan upit24.11.2006. u 12:23 - pre 212 meseci
Citat:
surferxyz:Najgora stvar u programiranju je ta kada nešto pokušavaš, a onda skontaš da je to nemoguće.

Hm, nije to ni tako lose, uvek se usput svasta nauci.
 
Odgovor na temu

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.133.*

Sajt: nemam ja to


Profil

icon Re: interesantan upit02.12.2006. u 15:23 - pre 211 meseci
A da pravis izvještaj sa cross table sistemom

ili MATRIX kako ga sada zove MS SQL report sistem

S poštovanjem
 
Odgovor na temu

branimir.ts
Beograd

Član broj: 56661
Poruke: 127
*.adsl.static.sezampro.yu.

Sajt: www.geocities.com/brankob..


Profil

icon Re: interesantan upit08.01.2007. u 09:34 - pre 210 meseci

Tebi u stvari treba pivot. Ovo mozes resiti preko T-SQL a i CASE klauzula ako imas MS 2000 , ali u MS SQL 2005 postoji i PIVOT ( to je poboljsanje vezano za TSQL). Ne znam napamet kako tacno glasi, pogledaj u helpu. Sramota je sto se to moze odraditi u Accessu 2000 preko Cross tab wizarda a ne postoji u MSSQL u 2000.

Pozdrav
 
Odgovor na temu

dekibre
Dejan Mladenovic
Oslo, Norveska

Član broj: 21820
Poruke: 246
82.208.195.*

Sajt: dekibre.on.w802.net/index..


+4 Profil

icon Re: interesantan upit09.01.2007. u 12:50 - pre 210 meseci
Evo primera sa northwindom u SQL 2000. Malo sredi kod ali to je to u principu, bez kursora. Možda postoji još bolji način ali ovo mi je prvo palo na pamet. Inače ovo je jedan od načina sa while petljom da izbegavaš kursore.

Code:

use northwind
declare @customerid char(5)
declare @orderid int
declare @orders varchar(255)

create table #Podaci
(
Customer char(5)
, orders varchar(255)
)

select customerid, orderid into #porudzbenice from orders
order by 1,2

while (select count(*) from #porudzbenice) > 0
begin

select @customerid = min(customerid) from #porudzbenice
select @orderid = min(orderid) from #porudzbenice where customerid = @customerid

if exists(select customer from #podaci where customer = @customerid)
begin
select @orders = orders from #podaci where customer = @customerid
update #podaci 
set orders = @orders + ', ' + cast(@orderid as varchar(255))
where customer = @customerid
end
else
begin

insert into #podaci (customer, orders)
select @customerid, cast(@orderid as varchar(255))

end

delete from #porudzbenice where customerid = @customerid and orderid = @orderid

end


select * from #podaci


select customerid, orderid from orders
order by 1,2

drop table #podaci
drop table #porudzbenice

You can fool some people sometimes,
But you can't fool all the people all the time. (Bob Marley)
 
Odgovor na temu

[es] :: MS SQL :: interesantan upit

[ Pregleda: 3157 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.