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

Jos jedan SQL query problem... ili neznalica :)

[es] :: Baze podataka :: Jos jedan SQL query problem... ili neznalica :)

[ Pregleda: 3367 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

engineer

Član broj: 45205
Poruke: 113
*.metrohive.neobee.net.

Jabber: engineer


Profil

icon Jos jedan SQL query problem... ili neznalica :)19.08.2005. u 18:53 - pre 227 meseci
Verovatno cu se upljuvati objasnjavajuci jednu relativno jednostavnu situaciju, ali pokusacu biti kratak i jasan.

Imam tri tabele: jednu sa id radnika i posla, drugu sa imenima radnika i trecu sa opisima posla.

TABELA_A:
id AUTOINC
radnik1_id INTEGER
radnik2_id INTEGER
radnik3_id INTEGER
posao_id INTEGER

TABELA_B:
id AUTOINC
ime_radnika WIDESTRING

TABELA_C:
id AUTOINC
opis_posla WIDESTRING

Kako da formiram query tako da dobijem sledece:
1. kolona: ime_radnika(radnik1_id), ime_radnika(radnik2_id), ime_radnika(radnik3_id)
2. kolona: opis_posla(posao_id)

Dakle prva kolona treba da sadrzi imena sva tri radnika odvojena zarezima. Druga kolona treba da sadrzi opis posla. I naravno mogucnost sortiranaj po prvoj ili drugoj koloni
 
Odgovor na temu

jajo
Zagreb

Član broj: 18276
Poruke: 91
*.adsl.net.t-com.hr.



Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)19.08.2005. u 20:10 - pre 227 meseci
(Prvo napomena, ak je ovo u neke obrazovne svrhe, tab_a nije u prvoj normalnoj formi.
A ako je za produkciju, stav "tri radnika ce biti dovoljno za sve potrebe" ce jednom pasti u vodu)

uglavnom:

select r1.ime_radnika1 ||', '|| r2.ime_ranika2 ||', '|| r3.ime_radnika3, p.naziv_posla
from tab_a rp, tab_b r1, tab_b r2, tab_b r3, tab_c p
where p.id_posla = rp.id_posla
and r1.id_rad = rp.id_rad1
and r2.id_rad = rp.id_rad2
and r3.id_rad = rp.id_rad3

(|| je oznaka za konkatenciju, oznake ovise o bazi)
 
Odgovor na temu

engineer

Član broj: 45205
Poruke: 113
*.metrohive.neobee.net.

Jabber: engineer


Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)19.08.2005. u 21:33 - pre 227 meseci
Citat:
(Prvo napomena, ak je ovo u neke obrazovne svrhe, tab_a nije u prvoj normalnoj formi.
A ako je za produkciju, stav "tri radnika ce biti dovoljno za sve potrebe" ce jednom pasti u vodu)

Slazem se, ovo je samo razrada problema...

Citat:
select r1.ime_radnika1 ||', '|| r2.ime_ranika2 ||', '|| r3.ime_radnika3, p.naziv_posla
from tab_a rp, tab_b r1, tab_b r2, tab_b r3, tab_c p
where p.id_posla = rp.id_posla
and r1.id_rad = rp.id_rad1
and r2.id_rad = rp.id_rad2
and r3.id_rad = rp.id_rad3

Ovo je OK, ali ne radi ako je neki od rp.id_rad1, rp.id_rad2 ili rp.id_rad3 = NULL...
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

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



+41 Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)19.08.2005. u 22:03 - pre 227 meseci
Code:

SELECT (r1.ime_radnika + ', ' + r2.ime_radnika + ', ' + r3.ime_radnika) AS Radnici, p.naziv_posla AS Posao 
FROM TABELA_A rp 
LEFT JOIN TABELA_B r1 ON rp.radnik1_id = r1.id 
LEFT JOIN TABELA_B r2 ON rp.radnik2_id = r2.id 
LEFT JOIN TABELA_B r3 ON rp.radnik3_id = r3.id 
INNER JOIN TABELA_C p ON rp.posao_id = p.id


Ako je moguce da posao_id bude null onda i tu stavi LEFT JOIN.
 
Odgovor na temu

jajo
Zagreb

Član broj: 18276
Poruke: 91
*.adsl.net.t-com.hr.



Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)19.08.2005. u 23:07 - pre 227 meseci
Slazem se, zaboravio sam na nullove
 
Odgovor na temu

engineer

Član broj: 45205
Poruke: 113
*.metrohive.neobee.net.

Jabber: engineer


Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)21.08.2005. u 10:28 - pre 227 meseci
To mi je trebalo, ostaje mi jos da se otarasim ", , ," kada su neki od radnika nullovi.
Hvala goranvuc i jajo!
 
Odgovor na temu

jajo
Zagreb

Član broj: 18276
Poruke: 91
*.adsl.net.t-com.hr.



Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)21.08.2005. u 11:40 - pre 227 meseci
stavi ||prva_kolona||decode(prva_kolona, null, null, ' ,')....

ili neki pandan decode-u ovisno o bazi
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

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



+41 Profil

icon Re: Jos jedan SQL query problem... ili neznalica :)21.08.2005. u 11:46 - pre 227 meseci
Ako ti bude trebala pomoc za ovo poslednje, javi ali nam i reci koja je baza podataka u pitanju (ja ti mogu pomoci za MS SQL ili Access).
 
Odgovor na temu

[es] :: Baze podataka :: Jos jedan SQL query problem... ili neznalica :)

[ Pregleda: 3367 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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