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

select iz iste tablice dva reda u trecu tablicu

[es] :: MySQL :: select iz iste tablice dva reda u trecu tablicu

[ Pregleda: 2889 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mojeKorIme
BiH

Član broj: 59512
Poruke: 350
92.36.254.*



+1 Profil

icon select iz iste tablice dva reda u trecu tablicu27.05.2009. u 09:27 - pre 180 meseci
pozdrav.. napravio sam upit

Code:
select a.a, c.b1, d.b1 from a as a,b as c, b as d where 
c.id=a.id and
c.vr=a.vr and
d.id=a.id and
d.vr=a.vr-1;


dakle, zelim da iz tablice a uzmem sve stavke, a da na osnovu vrijednosti vr iz tablice b uzmem parametar b1, te da iz iste tablice uzmem parametar kada je vrijednost umanjena za 1...

upit mi pravi problem jer neke stavke iz tablice a izostavi, a nisam mogao dokuciti koja..mislim zbog cega mi ih izostavlja...

moze li mi neko pomoci na koji nacin da ovo najbezbolnije odradim..

hvala
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: select iz iste tablice dva reda u trecu tablicu27.05.2009. u 09:38 - pre 180 meseci
Ovaj nečitljiv upit ne treba da vrati sve redove iz tabele "a" nego samo one za koje postoji u tabeli "b" slogovi sa istim "id" kao u tabeli "a" i to bar dva takva sloga od kojih bar jedan ima "vr" isti kao "vr" u "a" i bar jedan koji ima "vr" za jedan manje.

Ajde sada postavi pravo pitanje, šta je to što želiš da dobiješ. Da li ti je taj "vr" neki datum i šta je uopšte cilj upita...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.mysql.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: select iz iste tablice dva reda u trecu tablicu27.05.2009. u 10:12 - pre 180 meseci
Citat:
upit mi pravi problem jer neke stavke iz tablice a izostavi, a nisam mogao dokuciti koja..mislim zbog cega mi ih izostavlja...


ideju nemam sta pokusavas da uradis ali ti ovo mozda pomogne (iz drugog posta):

Code:

mysql> SELECT k1.friendid, k2.friendid, k3.friendid FROM (SELECT t_friend.friendid FROM t_friend WHERE t_friend.userid=1) k1 JOIN t_friend k2 ON (k2.userid = k1.friendid) JOIN t_friend k3 ON (k3.userid = k2.friendid);
+----------+----------+----------+
| friendid | friendid | friendid |
+----------+----------+----------+
|        2 |        3 |        4 | 
|        2 |        3 |        7 | 
+----------+----------+----------+
2 rows in set (0.00 sec)

mysql> SELECT k1.friendid, k2.friendid, k3.friendid FROM (SELECT t_friend.friendid FROM t_friend WHERE t_friend.userid=1) k1 LEFT JOIN t_friend k2 ON (k2.userid = k1.friendid) LEFT JOIN t_friend k3 ON (k3.userid = k2.friendid);
+----------+----------+----------+
| friendid | friendid | friendid |
+----------+----------+----------+
|        2 |        3 |        4 | 
|        2 |        3 |        7 | 
|        2 |        5 |     NULL | 
|        2 |        6 |     NULL | 
|        3 |        4 |     NULL | 
|        3 |        7 |     NULL | 
|        5 |     NULL |     NULL | 
+----------+----------+----------+
7 rows in set (0.00 sec)


dakle obrati paznju izmedju standardnog (inner) join-a i LEFT jon-a gde ti u slucaju LEFT join-a upit vraca i vrednosti gde u drugoj tabeli nemas vrednost.


 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.mysql.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: select iz iste tablice dva reda u trecu tablicu27.05.2009. u 10:16 - pre 180 meseci
dakle taj tvoj upit bi trebao da bude:

Code:

SELECT a.a, c.b1, d.b1 FROM a LEFT JOIN b c ON (c.id = a.id and c.vr=a.vr) LEFT JOIN b d ON ( a.id=d.id and a.vr-1=d.vr);


 
Odgovor na temu

mojeKorIme
BiH

Član broj: 59512
Poruke: 350
92.36.254.*



+1 Profil

icon Re: select iz iste tablice dva reda u trecu tablicu27.05.2009. u 14:00 - pre 180 meseci
LEFT JOIN je odradio posao hvala svima
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
 
Odgovor na temu

[es] :: MySQL :: select iz iste tablice dva reda u trecu tablicu

[ Pregleda: 2889 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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