Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 4.934 pregleda

Najnovija ↓

Access, SQL jedno pitanje 09.02.2007. u 07:25 · pre 240 meseci #1
Pozdrav,
u Accessu imam jednu tabelu sa sledecim kolonama: sifra, datum, rezultat
kljuc(PK):sifra + datum
kako da dobijem sifru, datum i maximalan rezultat, postignut prvi put tj.
najnizi datum kada je ostvren najvisi rezultat
Unapred zahvalna
Re: Access, SQL jedno pitanje 09.02.2007. u 08:08 · pre 240 meseci #2
Ja mislim da će ovo da odradi poso!

SELECT top 1 tbl_test.sifra, tbl_test.datum, tbl_test.rezultat
FROM tbl_test
ORDER BY tbl_test.datum, tbl_test.rezultat DESC;
Re: Access, SQL jedno pitanje 09.02.2007. u 08:44 · pre 240 meseci #3
Mala ispravka, prioritet je rezultat:
Code:

SELECT top 1 tbl_test.sifra, tbl_test.datum, tbl_test.rezultat
FROM tbl_test
ORDER BY tbl_test.rezultat DESC, tbl_test.datum

Znaci, posto imamo vise dana kada je dostignut maksimalan rezultat, sortiramo po rezultatu, a onda za sve najvece rezultate uzimamo samo onaj sa najmanjim datumom.
Re: Access, SQL jedno pitanje 09.02.2007. u 09:20 · pre 240 meseci #4
Nazalost nisam dobila odgovor,
trazi se za svaku sifru, datum kada je prvi put dostigla maksimasan rezultat..
prate se rezultati za duzi period, i za istu sifru naravno moze vise puta (datuma) da bude max rezultat.
u svakom slucaju hvala na trudu
Re: Access, SQL jedno pitanje 09.02.2007. u 10:39 · pre 240 meseci #5
Na preciznije pitanje - precizniji odgovor :)
Code:

SELECT Rezultati.sifra, MIN(tbl_test.datum) AS MinDatum, Rezultati.MaxRezultat 
FROM 
(SELECT sifra, MAX(rezultat) AS MaxRezultat FROM tbl_test GROUP BY sifra) AS Rezultati 
INNER JOIN tbl_test ON Rezultati.sifra = tbl_test.sifra 
GROUP BY Rezultati.sifra, Rezultati.MaxRezultat

Nisam testirao, ali bi to trebalo da bude to (naravno, zahteva noviju verziju Accessa koja podrzava referenciranje podupita).
Re: Access, SQL jedno pitanje 09.02.2007. u 12:53 · pre 240 meseci #6
Vrlo kompikovan i slozen problem ;)

Da li je ovo bio pokusaj uploadovanja iz mail klijenta? Ako jeste, onda nije lose da se isprati uz neki tekst.
Re: Access, SQL jedno pitanje 09.02.2007. u 14:58 · pre 240 meseci #8
Tako je prvi put se javljam pa mi bas ne ide, htela sam da posaljem
tabelicu, da pogledate,a on pravi ona cuda??? radim u accessu 2000-ke...
Pozdrav
Re: Access, SQL jedno pitanje 09.02.2007. u 15:04 · pre 240 meseci #9
OK, a zasto saljete tabelu, zar kod koji sam Vam zadnji poslao ne odgovara? Ako nije dobar, napisite u cemu je problem, da li javlja neku gresku ili ne daje rezultate koje ste ocekivali.

Pozdrav!

Inace, nisam siguran za verziju, probajte da je konvertujete u 2002 format, tamo ce sigurno raditi (naravno, ako ste u mogucnosti) Ako ne, onda napravite poseban view za deo upita koji sam nazvao "Rezultati" i nazovite ga Rezultati, izbacite iz SQL-a koji sam vam poslao sve sto je bilo u zagradi pre AS Rezultati, kao i rec AS i to je to.
Re: Access, SQL jedno pitanje 09.02.2007. u 15:29 · pre 240 meseci #10

Za

SELECT Rezultati.sifra, MIN(tbl_test.datum) AS MinDatum, Rezultati.MaxRezultat
FROM [SELECT sifra, MAX(rezultat) AS MaxRezultat FROM tbl_test GROUP BY sifra] AS Rezultati INNER JOIN tbl_test ON Rezultati.sifra=tbl_test.sifra
GROUP BY Rezultati.sifra, Rezultati.MaxRezultat;

javlja


The Microsoft Jet Datebase engine cannot find the input tabele or query ‘SELECT sifra, MAX(rezultat) AS MaxRezultat FROM tbl_test GROUP BY sifra’. Make sure it exists and that its name is spelled correctly.
Re: Access, SQL jedno pitanje 09.02.2007. u 16:46 · pre 240 meseci #11
Probaj ovaj izraz (proverio sam radi)

SELECT Query8.sifra, tbl_test.datum, tbl_test.rezultat
FROM [SELECT tbl_test.sifra, Max(tbl_test.rezultat) AS MaxOfrezultat FROM tbl_test GROUP BY tbl_test.sifra]. AS Query8 INNER JOIN tbl_test ON (Query8.MaxOfrezultat = tbl_test.rezultat) AND (Query8.sifra = tbl_test.sifra)
ORDER BY Query8.sifra;
Re: Access, SQL jedno pitanje 09.02.2007. u 19:04 · pre 240 meseci #12
Citat:
akoprivica: Za

SELECT Rezultati.sifra, MIN(tbl_test.datum) AS MinDatum, Rezultati.MaxRezultat
FROM [SELECT sifra, MAX(rezultat) AS MaxRezultat FROM tbl_test GROUP BY sifra] AS Rezultati INNER JOIN tbl_test ON Rezultati.sifra=tbl_test.sifra
GROUP BY Rezultati.sifra, Rezultati.MaxRezultat;

javlja


The Microsoft Jet Datebase engine cannot find the input tabele or query ‘SELECT sifra, MAX(rezultat) AS MaxRezultat FROM tbl_test GROUP BY sifra’. Make sure it exists and that its name is spelled correctly.


Izvini, ali gde sam ja to stavio uglaste zagrade kao sto si ti navela? Evo moj izvorni SQL, ako mi ne verujes:
Citat:
goranvuc: Na preciznije pitanje - precizniji odgovor :)
Code:

SELECT Rezultati.sifra, MIN(tbl_test.datum) AS MinDatum, Rezultati.MaxRezultat 
FROM 
(SELECT sifra, MAX(rezultat) AS MaxRezultat FROM tbl_test GROUP BY sifra) AS Rezultati 
INNER JOIN tbl_test ON Rezultati.sifra = tbl_test.sifra 
GROUP BY Rezultati.sifra, Rezultati.MaxRezultat

Nisam testirao, ali bi to trebalo da bude to (naravno, zahteva noviju verziju Accessa koja podrzava referenciranje podupita).


Malo vise koncentracije ;)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme