Pozdravljeni!
V Access 2007 sem napravil tabelo tekmovalcev in rezultatov. Z poizvedbo sem jih razvrstil od najboljšega do najslabšega. Sedaj pa bi rad posodobil polje uvrstitev z številkami od 1 do zadnjega tekmovalca. Poskusil bi z ukazom UPDATE, ampak ne znam zapisat pogoja kateri zapis je v poizvedbi prvi. Mogočegre problem rešit z ukazom CREATE INDEX ? Ali pa je moje razmišljanje povsem napačno?
POzdrav!
Razvrstitev elementov v zbirki podatkov
Re: Razvrstitev elementov v zbirki podatkov
Pozdravljeni,
Da, moram vas kar dvakrat razočarati. Prvič - naloga, ki ste si jo zadali je v SQL-u težko rešljiva. Drugič - res razmišljate napačno, saj je CREATE INDEX namenjen hitrejšim povpraševanjem po SQL.
Spodaj vam prilagam primer SQL stavka, ki vam bo vrnil pravilno razporeditev glede na rezultat - problem pa je iz tega select stavka narediti update stavek, saj ima ACCESS nekaj omejitev... Predlagam vam, da podani SQL stavek popravite tako, da bodo imena polj in ime tabele ustrezali vašim podatkom - ga spustite in iz rezultata naredite NOVO tabelo - ki je točno to kar potrebujete!
Da, moram vas kar dvakrat razočarati. Prvič - naloga, ki ste si jo zadali je v SQL-u težko rešljiva. Drugič - res razmišljate napačno, saj je CREATE INDEX namenjen hitrejšim povpraševanjem po SQL.
Spodaj vam prilagam primer SQL stavka, ki vam bo vrnil pravilno razporeditev glede na rezultat - problem pa je iz tega select stavka narediti update stavek, saj ima ACCESS nekaj omejitev... Predlagam vam, da podani SQL stavek popravite tako, da bodo imena polj in ime tabele ustrezali vašim podatkom - ga spustite in iz rezultata naredite NOVO tabelo - ki je točno to kar potrebujete!
Koda: Izberi vse
SELECT
ime,
rezultat,
(SELECT COUNT(*) FROM TabelaRezultatov WHERE rezultat < t.rezultat) + 1 as mesto
FROM TabelaRezultatov as t
ORDER BY rezultat
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator