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

Kako napisati upit... GRUP BY .. i sl ?

[es] :: Baze podataka :: Kako napisati upit... GRUP BY .. i sl ?

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MrLimeni
Montenegro

Član broj: 27761
Poruke: 100
*.crnagora.net.



Profil

icon Kako napisati upit... GRUP BY .. i sl ?02.08.2006. u 12:25 - pre 215 meseci
Dakle nekim upit dosao sam do sledece tabele:
Code:

| ProizvodID | DobavljacID | Datum |
--------------------------------------
| 000001     |    143      | 23.05.2006 |
| 000001     |    143      | 03.03.2006 |
| 000001     |    325      | 01.02.2006 |
| 160001     |    258      | 18.11.2006 |
| 160001     |    158      | 21.01.2006 |
| 150604     |    234      | 08.07.2006 |
| 150604     |    224      | 01.05.2006 |
| 150604     |    268      | 23.03.2006 |


a iz nje treba da dobijem sledecu tabelu

Code:

| ProizvodID | DobavljacID |
---------------------------
| 000001     |    143       |
| 160001     |    258       |
| 150604     |    234       |

dakle ovo sam izukao za svaki ProizvodID .. DobavljacID... ciji je datum poslednji za taj proizvod. Dakle, to mi treba da znam od kog sam dobavljaca zadnji put dobio koji proizvod. Dakle za svaki proizvod da znam koji je to dobavljac. E ja ne znam kako da iz prve tabele dobijem ovu drugu. Ima li ko resenje.. sugestiju :)

... Mu .... Mu ...
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?02.08.2006. u 12:37 - pre 215 meseci
http://www.devprotalk.com/t132...ovija-iz-svake-kategorije.html
 
Odgovor na temu

MrLimeni
Montenegro

Član broj: 27761
Poruke: 100
*.crnagora.net.



Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?02.08.2006. u 20:00 - pre 215 meseci
Napravio ovaj upit. Ali posto je to na poslu i ima dooosta artikala 10000 i sad zamislite koliko ima jos isporuka. pa sad naci onu koja je zadnja...ludilo.. upit mi radi 30sekundi. Inace baza je MSSQL.

jablanov post mi je pomogao.. Samo rekoh da ne zna neko postoji li sansa da se napravi neki upit koji ce malo brze radit?


... Mu .... Mu ...
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu.



+104 Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?02.08.2006. u 20:04 - pre 215 meseci
To mora da radi mnogo brže. Postavi SQL koji si napravio
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

MrLimeni
Montenegro

Član broj: 27761
Poruke: 100
*.crnagora.net.



Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?02.08.2006. u 20:27 - pre 215 meseci
dakle ako je view koji mi vraća prvu tabelu "isporuke" onda upit izgleda ovako
Code:

SELECT DISTINC ProizvodID, (SELECT TOP 1 DobavljacID
                              FROM isporuke I2
                              WHERE I2.ProizvodID = I1.ProizvodID
                              ORDER BY Datum DESC) DobavljacID
FROM isporuke I1


Dakle i ovaj view "isporuke" nije bas da je lagan ali, ne radi ovako dugo.
... Mu .... Mu ...
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.tippnet.co.yu.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?02.08.2006. u 21:26 - pre 215 meseci
Mozda MAX radi brze od TOP 1 ... ORDER BY?
Code:

SELECT I1.ProizvodID, I1.DobavljacID
  FROM isporuke AS I1
 WHERE I1.Datum = (SELECT MAX(I2.Datum)
                     FROM isporuke AS I2
                    WHERE I1.ProizvodID = I2.ProizvodID);

"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?03.08.2006. u 08:00 - pre 215 meseci
Ako i ovo chackino bude sporo, napiši ovde strukture tabela (sa indeksima), kao i šta radi taj view.
 
Odgovor na temu

MrLimeni
Montenegro

Član broj: 27761
Poruke: 100
*.crnagora.net.



Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?03.08.2006. u 09:13 - pre 215 meseci
Sa ovim spustilo se na 15 sekundi. Mislim da mi je pala ideja kako mogu da smanjim i ovo. Javicu vam jesam li uspio. Svakako hvala vam puno i za ovo.
... Mu .... Mu ...
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Kako napisati upit... GRUP BY .. i sl ?03.08.2006. u 09:28 - pre 215 meseci
probaj i JOIN
Code:

SELECT I1.ProizvodID, MAX(I1.DobavljacID)
  FROM isporuke AS I1
       JOIN isporuke AS I2
         ON I1.ProizvodID = I2.ProizvodID
 GROUP BY I1.ProizvodID, I1.Datum
HAVING I1.Datum = MAX(I2.Datum)

"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

[es] :: Baze podataka :: Kako napisati upit... GRUP BY .. i sl ?

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

Postavi temu Odgovori

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