imam tabelu 'saradnici' i polja 'sifrs' i 'ime' i tabelu 'radi_ponudu' sa poljima 'sifrs'(saradnik koji radi) i 'sifrpo'(ponuda koja se radi). kako da izvucem sve saradnike koji ne rade monudu? znam da nadjem sve koji rade, jel moze to da se oduzme od svih saradnika ili tako nesto?
sql upit koji ne znam da uradim
Zaključano
Zakačeno
WHERE SifPo IS NULL????
Potpis
Every hamster has his day.
U tabeli 'radi ponudu' je primarni kljuc(sifrs,sifrpo), tako da ni u kom slucaju ne moze biti NULL. Ta tabela predstavlja ovu stvar, ako postoji red onda saradnik sa sifrom sifrs radi sifrpo, a ako ne postoji takva onda on ne radi tu ponudu.
Ne razumem sta hoces da uradis. Napisi upit koji "vraca sve koji rade".
Potpis
Every hamster has his day.
...WHERE sifrs NOT IN (SELECT sifrs FROM radi_ponudu)
Code:
select * from saradnici where sifrs not in (select distinct sifrs from ponude)
select * from saradnici where sifrs not in (select distinct sifrs from ponude)
pretece me jablan
Cekajte ljudi, hocete da kazete da je on hteo da mu upit vrati sve saradnike koji imaju NEISPRAVAN sifrs tj. koji ne postoji u tabeli deteta???
Pa gde je tu referencijalni integritet???
Pa gde je tu referencijalni integritet???
Potpis
Every hamster has his day.
Citat:
Fedya: Cekajte ljudi, hocete da kazete da je on hteo da mu upit vrati sve saradnike koji imaju NEISPRAVAN sifrs tj. koji ne postoji u tabeli deteta???
Pa gde je tu referencijalni integritet???
Pa gde je tu referencijalni integritet???
ne, postoje saradnici, i postoje ponude, i postoji veza (m,m) izmedju njih. Pa sam napravio tabelu 'radi ponudu(saradnik,ponuda)' i ako postoji par onda taj saradnik radi ponudu, a ako ne onda ne radi ponudu, integritet je ok.
Citat:
japan:
Code:
select * from saradnici where sifrs not in (select distinct sifrs from ponude)
select * from saradnici where sifrs not in (select distinct sifrs from ponude)
sta znaci "distinct"?
Citat:
Fedya: Cekajte ljudi, hocete da kazete da je on hteo da mu upit vrati sve saradnike koji imaju NEISPRAVAN sifrs tj. koji ne postoji u tabeli deteta???
Nemaju neispravan sifrs, jednostavno nisu dodeljeni nijednom projektu (ponudi, čemu god)... Takoreći slobodni su.
Citat:
konj: sta znaci "distinct"?
znaci da ti nece vracati visestruke rezultate, tj "bez ponavljanja". npr ako imas:
Code:
sifrs | sifrp
---------------------------
1 | 1
1 | 2
1 | 3
sifrs | sifrp
---------------------------
1 | 1
1 | 2
1 | 3
onda ce ti "select distinct sifrs" vratiti samo 1, tj jedan red, dok bi ti "select sifrs" vratio tri reda sa jedinicama
Citat:
jablan: Nemaju neispravan sifrs, jednostavno nisu dodeljeni nijednom projektu (ponudi, čemu god)... Takoreći slobodni su.
nije da su slobodni, ali nerade tu ponudu
Citat:
japan:
Code:
select * from saradnici where sifrs not in (select distinct sifrs from ponude)
select * from saradnici where sifrs not in (select distinct sifrs from ponude)
nece da radi ovaj deo 'not in (nesto)' imam mysql pod linuxom.?
izmenjeno 1 put, poslednji put Fedya 11.01.2006. u 14:58
Izmene poruke
- Fedya11.01.2006. u 14:58zapis iz teksta poruke
Upravo nadjoh na netu da verzije mysqla startije od verzije 4.1 ne podrzavaju ovakve upite. Koju verziju koristis?
Potpis
Every hamster has his day.
Bez podupita:
Code:
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs
where p.sifrs is null
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs
where p.sifrs is null
to je to 3.0.18, jer postoji neka alternativa ili sam prso?
mozeli nekako drugacije da se izvede onaj upit
mozeli nekako drugacije da se izvede onaj upit
Citat:
jablan: Bez podupita:
Code:
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs
where p.sifrs is null
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs
where p.sifrs is null
jos sad treba da se ubaci i ' p.ponuda='VVV' '
ne razum sta je uradjeno, pa ne znam ni gde da ubacim
Code:
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs and p.ponuda='VVV'
where p.sifrs is null
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs and p.ponuda='VVV'
where p.sifrs is null
Mislis:
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs
where p.ponuda='VVV' and p.sifrs is null
???
select s.sifrs
from saradnici s
left outer join ponude p on s.sifrs = p.sifrs
where p.ponuda='VVV' and p.sifrs is null
???
Potpis
Every hamster has his day.
ne ide, vraca mi prazan set.
kada izbacim where ... on mi samo da polje sifrs sa svim saradnicima.
sta predatavlja 'left outer join'
kada izbacim where ... on mi samo da polje sifrs sa svim saradnicima.
sta predatavlja 'left outer join'
izmenjeno 1 put, poslednji put jablan 11.01.2006. u 16:07
Izmene poruke
- jablan11.01.2006. u 16:07zapis iz teksta poruke
Ne, mislim ono što sam napisao.
Jesi li siguran da si dobro otkucao query i da postoje podaci koji zadovoljavaju upit?
Citat:
ne ide, vraca mi prazan set.
Jesi li siguran da si dobro otkucao query i da postoje podaci koji zadovoljavaju upit?