[ Pulapola @ 17.12.2004. 08:55 ] @
Pozdrav svima,
novi sam u Accessu, pa vas molim za pomoć.

Kako (ako je moguće), da putem upita koji je ispod,
prikažem podatke, kada od strane korisnika
nisu upisana pojedina ili sva polja:
Lokacija, Struktura, Cijena, Kat, Površina?
Inače Query radim kroz kod (VB6). Mogu korisnika
"natjerati" da upiše, ali nije to to. Može li se ovo kroz
jedan upit?

Code:
SELECT Grad.Grad, Lokacija.Lokacija, Stan.Cijena
FROM Kat INNER JOIN ((Grad INNER JOIN Lokacija
ON Grad.SifragID = Lokacija.Sifragrada) INNER JOIN Stan
ON (Lokacija.SifralokID = Stan.Lokacija)
AND (Grad.SifragID = Stan.Grad)) ON Kat.KatID = Stan.Kat
WHERE (((Grad.Grad)="Pula") AND ((Lokacija.Lokacija)="Centar")
AND ((Stan.Struktura)<=3) AND ((Stan.Cijena)<=250000)
AND ((Stan.Kat) Between -1 And 5)
AND ((Stan.Povrsina) Between 50 And 300))
GROUP BY Grad.Grad, Lokacija.Lokacija, Stan.Cijena


Hvala svima
[ lenny @ 17.12.2004. 09:10 ] @
Citat:
Pulapola

Code:
SELECT Grad.Grad, Lokacija.Lokacija, Stan.Cijena
FROM Kat INNER JOIN ((Grad INNER JOIN Lokacija
ON Grad.SifragID = Lokacija.Sifragrada) INNER JOIN Stan
ON (Lokacija.SifralokID = Stan.Lokacija)
AND (Grad.SifragID = Stan.Grad)) ON Kat.KatID = Stan.Kat
WHERE (((Grad.Grad)="Pula") AND ((Lokacija.Lokacija)="Centar")
AND ((Stan.Struktura)<=3) AND ((Stan.Cijena)<=250000)
AND ((Stan.Kat) Between -1 And 5)
AND ((Stan.Povrsina) Between 50 And 300))
GROUP BY Grad.Grad, Lokacija.Lokacija, Stan.Cijena




Treba samo proširiti WHERE uslov sa proverom:

Code:
AND (Lokacija is NULL or Struktura is NULL or Cijena is NULL or Kat is NULL or 
Povrsina is NULL)


Ako imaš podrazumevane vrednosti, onda njih stavi umesto NULL (primer: ako je DEFAULT za Cijena 0.0, onda stavi Cijena=0.0).
[ jablan @ 17.12.2004. 09:35 ] @
LEFT OUTER JOIN mesto INNER JOIN-a, ali ćeš morati malo da preformulišeš select. Koja ti je poenta grupisanja po gradu, lokaciji i ceni u isto vreme?