Notice: Undefined offset: 2 in /home2/icentarb/public_html/icentar/classes/class.permissions.php on line 735
iCentar » Racunari i oprema » Programirannje i baze podataka » Baze podataka » Agregacija logičkih funkcija
dex 26.11.2015 17:20
Predmet:Agregacija logičkih funkcija

Ponekad nam je potrebno da izvršimo logičku I ili ILI funkciju po nakom polju tipa boolean nad nekim skupom podataka. Umesto da pišemo procedure i kursore možemo jednostavno upotrebiti ugradjene funkcije MAX i MIN.

Da se podsetimo:
Da bi logicka funkcija AND (i) imala vrednost FALSE dovoljno je da bar jadan argument ima vrednost FALSE. U suprotnom ima vrednost TRUE.

Da bi logicka funkcija OR (ili) imala vrednost TRUE dovoljno je da bar jadan argument ima vrednost TRUE. U suprotnom ima vrednost FALSE.

Na osnovu toga dovoljno je naći koji je minimalni/maksimalni element da bi znali vrednost cele funkcije.

Ono o čemu treba voditi računa je da neki RDBMS za TRUE imaju vrednost -1 (Access na primer) tako da je TRUE minimalni element, a FALSE maximalni, dok kod MySQL-a na primer TRUE ima vrednost 1, a FALSE 0, tako da je TRUE maximalni element,

Pa ubuduće da bi videli da li je tiket prošao umesto složenih procedura pišite nešto kao

SELECT TiketID, MAX(Pogodjeno) GROUP BY TiketID;