Problem sa SQL upitom...

Problem sa SQL upitom...

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Pa naravno, kad si lose postavio OR vezu...
br 1. select * kad imas vise tabela ne funkcionise dobro. Stavi tacno polja koja hoces.

Evo kako tvoj zapis treba da izgleda

SELECT polje1,polje2..... FROM ModuleControl
LEFT JOIN Modules on (ModuleControl.ModuleId=Modules.ModuleId)
WHERE ModuleControl.ShowOnAllPages=1
AND ModuleControl.PageId= :param

Ovo ce ti prikazati i one module gde ne postoji rekord za dati ModuleControl=1. Ne znam da li je bas to sto hoces.
Ako hoces 1:1, zameni LEFT sa INNER



offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Sql upit koji si mi dao mi je vratio jedan zapis potpuno prazan.

Ja sam napravio jednu gresku.
Citat:
Ono sto ja zelim jeste sql upit koji ce mi vratiti zapise koji imaju bilo koju vrednost pageid atributa i da im je showonallpages setovan.


Ovo podebljano je greska tako da zapravo recenica treba da glasi:

Citat:
Ono sto ja zelim jeste sql upit koji ce mi vratiti zapise koji imaju vrednost PageId trenutne stranice i kojima je ShowOnAllPages=1


Previd.

Pomgao si mi da razmislim malo bolje i napisao sam Sql koji mi je vratio ono sto sam trazio u ispravljenoj recenici, ali to ne valja, jer se kasnije desavaju problemi.

SELECT * FROM ModuleControl, Modules WHERE ModuleControl.PageId=1 And ModuleControl.ShowOnAllPages=1 or ModuleControl.ModuleId=Modules.ModuleId;

Kao sto sam napisao, ovo je experimentalna baza pa sam zato i stavljao Select *.

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

OR ne moze da ide bez zagrade. Sta je ovde OR?
(ModuleControl.PageId=1 And ModuleControl.ShowOnAllPages=1) OR ...
ili je (ModuleControl.ShowOnAllPages=1 or ModuleControl.ModuleId=Modules.ModuleId)

Vraca ti nepredvidive rezultate. Nikad ne stavljaj OR bez zagrade

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Sredio sam, posto je ovaj experiment radim nad Access bazom uslov ShowOnAllPages=1 je trebao da glasi ShowOnAllPages=true.
Glupa greska, ali tako je.

Where (ModuleControl.PageId=2 or ModuleControl.ShowOnAllPages=true) and ModuleControl.ModuleId=Modules.ModuleId;

Ko je trenutno na forumu
 

Ukupno su 1149 korisnika na forumu :: 70 registrovanih, 9 sakrivenih i 1070 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 100jan, 357magnum, A.R.Chafee.Jr., Alexandar-1973, Asparagus, Ba4e, Borski1977, cyprus, Dioniss, djole01, DJUNTA, DonRumataEstorski, Dragacevac, Dragan7777, draganl, drimer, dukajov, Dukelander, Dzigy, Folkstar, frankavoort, g_g, galerija, goxin, igorkozar83, Imperator_Aleksandr_lll, Inner-Cell, Jager715510, jaka013, Jester, jodzula, Kajzer Soze, Karla, Lep1na, M74AB3, Marko Marković, maxim_von_burdengate, mercedesamg, Metanoja, mikrimaus, milanpb, Miler88, Milo97, mkukoleca, Moldovan, moldway, Nemanja Opalić, nenad81, Orc, pablojepao, peradetlić, Perudin_92, Pilipenda, Qvazimodo, Shinobi, ShtagodShtagod, skok, Srna, Tila Painen, Tumansky, ulogovan, uruk, vathra, veljko82, vidra1, virked, voja64, yufighter, Zgembo78, zokizemun