[ 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.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.