[ saxa @ 23.09.2011. 13:36 ] @

ovako ... tablica2 sadrži polja : ID, Naziv, Brojnost, Veličina, Vrsta, Boja

i sad ... ja bih htjela da mi izbaci samo one Nazive koji imaju :

Brojnost = 1
Veličinu = 5 ili 2
Vrstu = 3

(nisam uspila filtrirat pomoću filtera pa idem ovako)

ovo je kod koji sam napisala i on radi super ... ali kada želim ubacit ostale uvjete onda svašta izbacuje ili ništa (kako kad)

('SELECT * FROM tablica2 WHERE Brojnost like 1 order by ID');

sad bi mene interesiralo kako bi to trebalo napisat, vjerojatno griješim u sintaksi

ovo su neki primjeri koje sam isprobala:

('SELECT * FROM tablica2 WHERE Brojnost like 1 AND Vrsta like 3 AND Veličina like 5 OR 2 order by ID');
('SELECT * FROM tablica2 WHERE Brojnost = 1 AND Vrsta = 3 AND Veličina = 5 OR 2 order by ID');
('SELECT * FROM tablica2 WHERE Brojnost like 1 AND Vrsta like 3 AND Veličina like 5 OR Veličina like 2 order by ID');
[ ((BugA)) @ 23.09.2011. 14:47 ] @
Ako zelis sva tri uslova ispunjena onda probaj ovako (obrati paznju na zagrade):
Code:
SELECT * FROM tablica2 WHERE Brojnost = 1 AND Vrsta = 3 AND (Veličina = 5 OR Veličina = 2) order by ID

Ukoliko zelis bilo koji uslov ispunjen, onda probaj ovako:
Code:
SELECT * FROM tablica2 WHERE Brojnost = 1 OR Vrsta = 3 OR Veličina = 5 OR Veličina = 2 order by ID

Pozdrav, BugA
[ saxa @ 23.09.2011. 15:00 ] @
tnx radi
[ saxa @ 05.10.2011. 12:53 ] @
novo pitanje ako mi neko može pomoć !!!!


ovako ... tablica2 sadrži polja : ID, Naziv, Brojnost, Veličina, Vrsta, Boja
tablica1 sadrži polja : ID0, Naziv0, Vrijeme, Oblik, Suma

i sad ... ja bih htjela da mi izbaci samo Naziv koji ima :

Brojnost = 1
Vrsta = 2

a Oblik bilo koji se izabere u ComboBoxu, a za to imam varijablu :

var OB := FloatToStr(Form2.cboOblik.ItemIndex + 1);

i sad ... što ne valja u ovom izrazu ? :

'SELECT tablica1.*, tablica2.* FROM tablica2 INNER JOIN tablica1 ON tablica2.ID = tablica1.ID0 WHERE (tablica2.Brojnost like 1) AND (tablica2.Vrsta like 2) AND (tablica1.Oblik like ''' + OB + ''') ORDER BY tablica1.Suma';
[ Predrag Supurovic @ 05.10.2011. 12:58 ] @
Izgleda da ne valja to sto niste mnogo procitali o SQL jeziku a i ne citate kad vam neko objasni kako treba da uradite nego samo prepisujete bez nastonjanja da razumete sta prepisujete.
[ savkic @ 05.10.2011. 14:08 ] @
> i sad ... ja bih htjela da mi izbaci samo Naziv koji ima :
> Brojnost = 1
> Vrsta = 2

Onda koristiš jednakost u uslovu ne LIKE.

> var OB := FloatToStr(Form2.cboOblik.ItemIndex + 1);

Kog tipa je polje Oblik, ako je numeričko onda ne treba da koristiš upoređivanje po stringu a ako je string onda se postaraj da su formatiranja jednaka (decimalni separator, broj decimala...)

> i sad ... što ne valja u ovom izrazu ? :

To ti moraš reći, da li izraz vraća rezultat ili grešku (i koju), ako daje rezultat napiši šta dobijaš a šta očekuješ.

Code:

SELECT 
  tablica1.*, tablica2.* 
FROM 
  tablica2 INNER JOIN tablica1 
    ON tablica2.ID = tablica1.ID0 
WHERE 
  (tablica2.Brojnost = 1) AND
  (tablica2.Vrsta = 2) AND 
  (tablica1.Oblik like ''' + OB + ''')  
ORDER BY 
  tablica1.Suma
[ saxa @ 05.10.2011. 14:20 ] @
Javlja grešku:

Project MojProject.exe raised exception class EOleException with message: ' Syntax error in query expresion 'SELECT tablica1.*, tablica2.* FROM tablica2 INNER JOIN tablica1 ON tablica2.ID = tablica1.ID0 WHERE (tablica2.Brojnost like 1) AND (tablica2.Vrsta like 2) AND (tablica1.Oblik like ''' + OB + ''') ORDER BY tablica1.Suma' . Proccess stopped. Use Step or Run to continue.