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

sql upit koji ne znam da uradim

[es] :: Baze podataka :: sql upit koji ne znam da uradim

Strane: 1 2

[ Pregleda: 4806 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milos Sreckovic
System administrator, SET d.o.o.
Šabac

Član broj: 30126
Poruke: 267
*.smin.sezampro.yu.

Sajt: www.set.rs


+2 Profil

icon Re: sql upit koji ne znam da uradim11.01.2006. u 15:58 - pre 222 meseci
evo pa vidi sam

Code:
mysql> select * from saradnici;
+-------+----------+---------+
| sifrs | napomena | nadimak |
+-------+----------+---------+
|     1 | NULL     | djole   |
|     2 | NULL     | mika    |
|     3 | NULL     | pera    |
|     4 | NULL     | zika    |
+-------+----------+---------+
4 rows in set (0.06 sec)

mysql> select sifrpo from ponude;
+---------+
| sifrpo  |
+---------+
|      23 |
|     111 |
|    5643 |
| 3455532 |
| 3455533 |
| 3455534 |
| 3455535 |
| 3455536 |
| 3455537 |
| 3455538 |
| 3455539 |
| 3455540 |
| 3455541 |
| 3455542 |
| 3455547 |
| 3455548 |
| 3455549 |
| 3455550 |
| 3455551 |
| 3455552 |
| 3455553 |
| 3455554 |
| 3455555 |
| 3455556 |
| 3455557 |
| 3455558 |
| 3455559 |
| 3455560 |
+---------+
28 rows in set (0.07 sec)

mysql> select * from strani_ucesnici;
+--------+----------+
| ponuda | saradnik |
+--------+----------+
|     23 |        1 |
|     23 |        2 |
|    111 |        2 |
|     23 |        3 |
+--------+----------+
4 rows in set (0.00 sec)

mysql> select sifrs from saradnici 
left outer join strani_ucesnici on saradnici.sifrs=strani_ucesnici.saradnik and strani_ucesnici.ponuda='23' 
where strani_ucesnici.saradnik=NULL;
Empty set (0.02 sec)


[Ovu poruku je menjao konj dana 11.01.2006. u 16:58 GMT+1]
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: sql upit koji ne znam da uradim11.01.2006. u 16:15 - pre 222 meseci
Citat:
konj: evo pa vidi sam

Code:
select sifrs from saradnici 
left outer join strani_ucesnici 
on saradnici.sifrs=strani_ucesnici.saradnik and strani_ucesnici.ponuda='23' 
where strani_ucesnici.saradnik=NULL;
Empty set (0.02 sec)


IS NULL, a ne = NULL

[Ovu poruku je menjao jablan dana 11.01.2006. u 17:16 GMT+1]
 
Odgovor na temu

Milos Sreckovic
System administrator, SET d.o.o.
Šabac

Član broj: 30126
Poruke: 267
*.smin.sezampro.yu.

Sajt: www.set.rs


+2 Profil

icon Re: sql upit koji ne znam da uradim11.01.2006. u 16:43 - pre 222 meseci
radi hvala
 
Odgovor na temu

branimir.ts
Beograd

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

Sajt: www.geocities.com/brankob..


Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 10:55 - pre 222 meseci
Prvo da krenem sa ispravkama

Citat:
jablan:
Code:
...WHERE sifrs NOT IN (SELECT sifrs FROM radi_ponudu)



..ovo bi trebalo da bude ovako :

Code:
...WHERE sifrs NOT IN (SELECT ISNULL(sifrs,'') as sifrs FROM radi_ponudu)


ili

Code:
...WHERE sifrs NOT IN (SELECT sifrs FROM radi_ponudu where sifrs is not null)


Dakle, zadatak je sledeci: Izlistati sve one saradnike koji ne ucestvuju u ponudi .

Anlagno tome, zadatak moze da se preformulise na nacin "vrati sve saradnike ciji je broj pojavljivanja u tabeli ponude (strani_ucesnici),
za odgovarajucu ponudu , jednak nuli.

Ako ovo prevedemo u SQL dobijamo sledeci upit :

Code:
SELECT *
FROM saradnici AS tmp1
WHERE 
(select count(saradnik) from strani_ucesnici tmp where tmp.saradnik = tmp1.sifrs and tmp.ponuda='23') <= 0


Pozdrav
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 10:58 - pre 222 meseci


joj
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.dialup.sezampro.yu.



+13 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 11:11 - pre 222 meseci
Citat:
branimir.ts:
Code:
...WHERE sifrs NOT IN (SELECT ISNULL(sifrs,'') as sifrs FROM radi_ponudu)



cemu ovo ISNULL ako smem da pitam?
 
Odgovor na temu

branimir.ts
Beograd

Član broj: 56661
Poruke: 127
*.

Sajt: www.geocities.com/brankob..


Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 11:34 - pre 222 meseci
Citat:
japan: cemu ovo ISNULL ako smem da pitam?


Iz prostog razloga jer je uvek potrebno krenuti od pretpostavke da u tabeli moze doci do pojave "gubitka referencijalnog integriteta" , tj pojaviti se polje ponuda sa odgovarajucim podatkom, a istovremeno i polje saradnik cija vrednost , iz bilo kog razloga, moze biti NULL. U tom slucaju jablanov upit nece vratiti korektne rezultate.

Pozdrav
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 11:39 - pre 222 meseci
A kako ce to doci do pojave "gubitka referencijalnog integriteta"?

Every hamster has his day.
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.dialup.sezampro.yu.



+13 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 11:47 - pre 222 meseci
a integritet entiteta?

Citat:
U tabeli 'radi ponudu' je primarni kljuc(sifrs,sifrpo)
 
Odgovor na temu

branimir.ts
Beograd

Član broj: 56661
Poruke: 127
*.

Sajt: www.geocities.com/brankob..


Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 11:58 - pre 222 meseci
Citat:
Fedya: A kako ce to doci do pojave "gubitka referencijalnog integriteta"?


Evo jednog scenarija. Neko je importovao na MSSQL-u tabelu iz jedne baze u drugu. Zaboravio da postavi index e i primarne kljuceve, a u medjuvremenu aplikacija koja pocinje rad sa prebacenom tabelom iz nekog razloga ubaci NULL vrednost u polje saradnik (sada joj se to moze , nema constrainta, a istovremeno upise nesto u ponudu).

Ti se pojavis na licu mesta i treba sto hitnije da odradis upit. Ti ces odraditi jablanov upit i neprimetno ces dobiti (ili uopste neces dobiti ) nepotpune (ili netacne ) rezultate .

U samom programiranju vlada jedno zlatno pravilo : Uvek pokusaj da sprecis cak i ono sto se (mozda) nikada nece ni desiti . To se zove "defanzivno" programiranje i ja sam pristalica tog nacina razmisljanja.

Pozdrav
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 12:11 - pre 222 meseci
Citat:
branimir.ts: To se zove "defanzivno" programiranje i ja sam pristalica tog nacina razmisljanja.

Očigledno si pristalica i pravila "kad nemaš ništa pametno da kažeš, ti reci bilo šta".
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 12:12 - pre 222 meseci
Ovo u svakom slucaju ne moze da se desi posto i ako stavis WITH NO CHECK primarni kljuc se ipak proverava, tako da do ovoga ne moze da dodje i verujem da je tvoja ispravka tacna ali potpuno suvisna.
Every hamster has his day.
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.dialup.sezampro.yu.



+13 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 12:19 - pre 222 meseci
Citat:
branimir.ts: Evo jednog scenarija. Neko je importovao na MSSQL-u tabelu iz jedne baze u drugu. Zaboravio da postavi index e i primarne kljuceve, a u medjuvremenu aplikacija koja pocinje rad sa prebacenom tabelom iz nekog razloga ubaci NULL vrednost u polje saradnik (sada joj se to moze , nema constrainta, a istovremeno upise nesto u ponudu).

Ti se pojavis na licu mesta i treba sto hitnije da odradis upit.


moram da priznam da me ovaj scenario neodoljivo poseca na autostoperski vodic kroz galaksiju ;o)

Citat:
U samom programiranju vlada jedno zlatno pravilo : Uvek pokusaj da sprecis cak i ono sto se (mozda) nikada nece ni desiti . To se zove "defanzivno" programiranje i ja sam pristalica tog nacina razmisljanja.


uvek? cak i kad je verovatnoca da se desi to sto pokusavas da predvidis jednaka nuli, a lek koji primenjujes kosta boga oca? da budem plastican, ides li ti na terapijska zracenja samo zato sto postoji mogucnost da imas neotkriven malignitet?
 
Odgovor na temu

branimir.ts
Beograd

Član broj: 56661
Poruke: 127
*.

Sajt: www.geocities.com/brankob..


Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 12:58 - pre 222 meseci
Citat:
japan: uvek? cak i kad je verovatnoca da se desi to sto pokusavas da predvidis jednaka nuli, a lek koji primenjujes kosta boga oca? da budem plastican, ides li ti na terapijska zracenja samo zato sto postoji mogucnost da imas neotkriven malignitet?


Vidim da si poceo da butas babe i zabe i cela ova tvoja prica izlazi iz smislenog konteksta. Verovatnoca nikada nije jednaka 0 ( mozda je tvoje iskustvo sa ovakvim stvarima samo jednako nuli ) , a "lek koji kosta boga oca" je zanemarljiva cena (ako si mislio na performanse konkretno ) . Sto vise budes razmisljao na taj nacin, veca ces stetocina biti za svoje preduzece i vece ce ti biti sanse za otkaz.

Citat:
jablan: Očigledno si pristalica i pravila "kad nemaš ništa pametno da kažeš, ti reci bilo šta".


Ti bi trebalo jos jednom da prelistas osnove SQL a, i da naucis jos poneki kako ti kazes "fazon", a ne da non stop krparis sa nekim view ima , LEFT JOINIMA itd i da radis stvari iz 100 koraka umesto jednog.

Pozdrav
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 13:04 - pre 222 meseci
Bez tebe bi ovaj forum bio, ako ništa drugo, manje zanimljiv.

Izvoli, reši čoveku problem bez OUTER JOIN-a. Imaj u vidu da radi na verziji MySQL-a koja ne podržava podupite.

[Ovu poruku je menjao jablan dana 12.01.2006. u 14:05 GMT+1]
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 13:07 - pre 222 meseci
Zamolio bih vas da se suzdrzite od prepucavanja i provokacija, jer to ne pripada jednoj konstruktivnoj diskusiji...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

branimir.ts
Beograd

Član broj: 56661
Poruke: 127
*.

Sajt: www.geocities.com/brankob..


Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 13:09 - pre 222 meseci
Za koju verziju MySQL ti treba resenje?

Pozdrav
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 13:20 - pre 222 meseci
Verzije ispod 4.1 ne podrzavaju podupite.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 13:31 - pre 222 meseci
Ako procitate temu od pocetka videcete da sam vec napisao da verzije starije od 4.1 ne podrzavaju podupite a covek je odgovorio da koristi verziju 3.0.18.

Znaci Branimire:
Citat:
jablan: :) Izvoli, reši čoveku problem bez OUTER JOIN-a. Imaj u vidu da radi na verziji MySQL-a koja ne podržava podupite.

Every hamster has his day.
 
Odgovor na temu

Milos Sreckovic
System administrator, SET d.o.o.
Šabac

Član broj: 30126
Poruke: 267
*.adsl.sezampro.yu.

Sajt: www.set.rs


+2 Profil

icon Re: sql upit koji ne znam da uradim12.01.2006. u 13:51 - pre 222 meseci
nadam se samo da nece biti mrtvih

bilo bi lepo da vidimo to resenje bez OUTER JOIN, iako cu za dva dana da prebacim bazu na server sa verzijom 4.1.x pa cu uraditi sa podupitom:)
 
Odgovor na temu

[es] :: Baze podataka :: sql upit koji ne znam da uradim

Strane: 1 2

[ Pregleda: 4806 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

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