[ saladinche @ 05.12.2017. 15:13 ] @
Pozdrav svima,
Imam bazu "Zarada" koja izmedju ostalih sadrzi sledece kolone: datum, radnik1, radnik2.
Prethodno sam napravio bazu "Radnici" iz koje biram radnike i upisujem ih u bazu Zarada.

Kada biram radnike u bazi Zarada mogu ih upisati u polje Radnik1 ili Radnik2, svejedno je, ali kada pokusam da pomocu upita odaberem vremenski interval u kome ce se pojavljivati odredjeni radnik (nije bitno da li je u polju radnik1 ili radnik2) uvek mi gresi na polju radnik2, daje mi rezultate ne vezano za datum.

Evo kako sam definisao query:

Select *
FROM Zarade
WHERE (radnik1 = 'ImeRadnika') OR (Radnik2 = 'imeRadnika)) and
((DATUM >= '02.12.2017') AND (DATUM <= '04.12.2017'))

Ako mi se ime radnika nalazi u polju Radnik2 onda mi izlista ne vezano za ovo datume koje sam naveo...

Nadam se da je moje pitanje bilo jasno.

HVala.
[ dusans @ 05.12.2017. 15:18 ] @
Copy/paste originalnog upita, pošto ovom ovde prekucavanom fali jedna zagrada i nema šanse da je sintaksno ispravan.
[ saladinche @ 05.12.2017. 15:21 ] @
Select *
FROM UGOVORI
WHERE (UPPER(MONTER1) = UPPER('saladinche')) OR (UPPER(MONTER2) = UPPER('Saladinche')) and
((DATUM >= '02.12.2017') AND (DATUM <= '04.12.2017'))
[ dusans @ 05.12.2017. 15:24 ] @
Pobrkao si zagrade oko montera, treba ovako:

Code (sql):

SELECT *
FROM UGOVORI
WHERE (UPPER(MONTER1) = UPPER('saladinche') OR UPPER(MONTER2) = UPPER('Saladinche')) AND
      ((DATUM >= '02.12.2017') AND (DATUM <= '04.12.2017'))
 
[ saladinche @ 05.12.2017. 15:27 ] @
Šta reći ovim Poštovanje ništa manje :)
Hvala puno.
[ saladinche @ 05.12.2017. 16:09 ] @
Kad si vec tu da pitam jos nesto :)
Pored kolona datum, radnik1, radnik2 i kolone radnik1_zarada i radnika2_zarada.
Pokusavam da za odredjeni datum pretrazim u dve kolone istog radnika i izracunam mu zaradu ali uporno mi racuna sve ukupno.
Evo koda kako pokusavam:

SELECT (SUM(MONTER1_IZNOS))+(SUM(MONTER2_IZNOS))
FROM UGOVORI
WHERE ((UPPER(MONTER1) = UPPER('Saladinche')) OR (UPPER(MONTER2) = UPPER('Saladinche'))) AND
((DATUM >= '06.12.2017') AND (DATUM <= '06.12.2017'))

Hvala jos jednom.
[ djoka_l @ 05.12.2017. 16:28 ] @
Code (sql):

SELECT SUM(iznos)
FROM (
   SELECT monter1_iznos AS iznos
   FROM ugovori
   WHERE UPPER(MONTER1) = UPPER('Saladinche')
     AND datum BETWEEN '06.12.2017' AND '06.12.2017'
   UNION ALL
   SELECT monter2_iznos AS iznos
   FROM ugovori
   WHERE UPPER(MONTER2) = UPPER('Saladinche')
     AND datum BETWEEN '06.12.2017' AND '06.12.2017'
)
 


Inače, jako je loše to što si uradio, stavio radnik1, radnik2. I sam vidiš da sebi praviš problem jer moraš da gledaš na više mesta u tabeli isti podatak.
[ saladinche @ 05.12.2017. 16:31 ] @
Znam da je lose, ali takav je zadatak.
Uvek odredjeni posao rade dva radnika, a operater koji ih unosi ne gleda uvek koga ce prvog uneti nego kako mu donesu izvestaj sa terena.
Zato mora dva radnika...

I hava na kodu.