[ PeraKojotSuperGenije @ 23.09.2005. 14:32 ] @
Imam ovakvu tabelu:

tabel1:
------
id: primarni kljuc
konto: text(10)
d: datum
cena: int

Treba za svaki konto (on se moze ponavljati pa verovatno treba ''group by konto'') izbaciti cenu sa najnovijim datumom, taj datum i naravno sam konto. Kako?
[ goranvuc @ 23.09.2005. 17:16 ] @
Code:

SELECT MAX(d) AS Najnoviji, konto, id, cena 
FROM tabel1 
GROUP BY konto, id, cena
[ PeraKojotSuperGenije @ 23.09.2005. 18:04 ] @
Tako sam i ja mislio, ali nije...
Evo i baze u "spajalici", pa...
[ goranvuc @ 23.09.2005. 19:27 ] @
Prvi put nisam bas najbolje shvatio sta hoces, evo resenje:
Code:

SELECT Najveci, Upit.jk, table1.cena 
FROM 
(SELECT MAX(date) AS Najveci, jk
FROM table1
GROUP BY jk) AS Upit 
INNER JOIN table1 ON (Upit.jk = table1.jk AND Upit.Najveci = table1.date)


Uslov za korektan rezultat je da na isti dan za isti konto nemas dve promene cena!
[ PeraKojotSuperGenije @ 23.09.2005. 23:48 ] @
Uslov koji si pomenuo je ispunjen, ali Access mi pri startovanju upita javlja sintaksnu gresku
"The Microsoft Jet database engine cannot find the input table or query SELECT MAX(date) AS Najveci, jk FROM table1 GROUP BY jk. Make sure it exists and that its name is spelled correctly."
[ goranvuc @ 24.09.2005. 08:50 ] @
Izgleda da Access konvertuje SQL izraz pri cuvanju. Probaj da paste-ujes ovo u SQL View u dizajnu Query-a:
Code:

SELECT Najveci, Upit.jk, table1.cena
FROM [SELECT MAX(date) AS Najveci, jk FROM table1 GROUP BY jk]. AS Upit INNER JOIN table1 ON (Upit.jk=table1.jk) AND (Upit.Najveci=table1.date);
[ PeraKojotSuperGenije @ 24.09.2005. 14:31 ] @
To je to. Hvala!
[ branimir.ts @ 11.11.2005. 11:42 ] @
...i kad koristis SQL reserved words kao sto si uradio u svom upitu "max(date)", stavljaj ih u uglaste zagrade!

Pozdrav