/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
SQL problem
Fra : Lasse


Dato : 17-01-01 11:09

Hvordan kombinere jeg en SQL forespørgsel til at viser de 10 sidste (lige
som med TOP 10) forskellige (lige som med DISTINCT) værdier fra en kolonne
Sorteret med den nyeste værdi øverst?


ACCESS Database (tabel = opgaver)

Titel = er det felt jeg skal bruge de sidste 10 forskellige værdier fra,
sorteret med den nyeste værdi først!
Opgave_ID = Autonummereret, ingen dubletter. (bruges til sortering)


Lasse



 
 
Jens Gyldenkærne Cla~ (17-01-2001)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-01-01 11:25

"Lasse" <lsSLET@mail.dk> skrev:

>Hvordan kombinere jeg en SQL forespørgsel til at viser de 10 sidste (lige
>som med TOP 10) forskellige (lige som med DISTINCT) værdier fra en kolonne
>Sorteret med den nyeste værdi øverst?

Et gæt:

SELECT * FROM
(SELECT DISTINCT TOP 10 FROM <tabel> ORDER BY <sorteringsfelt> DESC)
ORDER BY <sorteringsfelt>

Ikke afprøvet.

--
Jens

Lasse (18-01-2001)
Kommentar
Fra : Lasse


Dato : 18-01-01 08:17

Det er den ikke vild med!

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a
reserved word or an argument name that is misspelled or missing, or the
punctuation is incorrect.


Lasse



Jens Gyldenkærne Clausen skrev i meddelelsen ...
>"Lasse" <lsSLET@mail.dk> skrev:
>
>>Hvordan kombinere jeg en SQL forespørgsel til at viser de 10 sidste (lige
>>som med TOP 10) forskellige (lige som med DISTINCT) værdier fra en kolonne
>>Sorteret med den nyeste værdi øverst?
>
>Et gæt:
>
>SELECT * FROM
>(SELECT DISTINCT TOP 10 FROM <tabel> ORDER BY <sorteringsfelt> DESC)
>ORDER BY <sorteringsfelt>
>
>Ikke afprøvet.
>
>--
>Jens



Lauritz Jensen (18-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 18-01-01 13:00

Lasse wrote:
>
> Jens Gyldenkærne Clausen skrev i meddelelsen ...
> >"Lasse" <lsSLET@mail.dk> skrev:
> >
> >>Hvordan kombinere jeg en SQL forespørgsel til at viser de 10 sidste (lige
> >>som med TOP 10) forskellige (lige som med DISTINCT) værdier fra en kolonne
> >>Sorteret med den nyeste værdi øverst?
> >
> >Et gæt:
> >
> >SELECT * FROM
> >(SELECT DISTINCT TOP 10 FROM <tabel> ORDER BY <sorteringsfelt> DESC)
> >ORDER BY <sorteringsfelt>
>
> Det er den ikke vild med!
>
> [Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a
> reserved word or an argument name that is misspelled or missing, or the
> punctuation is incorrect.

Access kan ikke have en select i from-clausen (det er en rar ting fra
mssql-server), men du kan jo næjes med :
SELECT DISTINCT TOP 10 felt1, felt2 FROM <tabel> ORDER BY
<sorteringsfelt> DESC
eller
SELECT TOP 10 felt1, felt2 FROM <tabel> GROUP BY felt1, felt2 ORDER BY
<sorteringsfelt> DESC

--
Lauritz

Lasse (18-01-2001)
Kommentar
Fra : Lasse


Dato : 18-01-01 14:17

Dem var den helle ikke så glad for, i begge tilfælde skrev den:

ADO could not find the object in the collection corresponding to the name or
ordinal reference requested by the application

Lasse

Lauritz Jensen skrev i meddelelsen <3A66DACA.1319AFC6@hotmail.com>...
>Lasse wrote:
>>
>> Jens Gyldenkærne Clausen skrev i meddelelsen ...
>> >"Lasse" <lsSLET@mail.dk> skrev:
>> >
>> >>Hvordan kombinere jeg en SQL forespørgsel til at viser de 10 sidste
(lige
>> >>som med TOP 10) forskellige (lige som med DISTINCT) værdier fra en
kolonne
>> >>Sorteret med den nyeste værdi øverst?
>> >
>> >Et gæt:
>> >
>> >SELECT * FROM
>> >(SELECT DISTINCT TOP 10 FROM <tabel> ORDER BY <sorteringsfelt> DESC)
>> >ORDER BY <sorteringsfelt>
>>
>> Det er den ikke vild med!
>>
>> [Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a
>> reserved word or an argument name that is misspelled or missing, or the
>> punctuation is incorrect.
>
>Access kan ikke have en select i from-clausen (det er en rar ting fra
>mssql-server), men du kan jo næjes med :
>SELECT DISTINCT TOP 10 felt1, felt2 FROM <tabel> ORDER BY
><sorteringsfelt> DESC
>eller
>SELECT TOP 10 felt1, felt2 FROM <tabel> GROUP BY felt1, felt2 ORDER BY
><sorteringsfelt> DESC
>
>--
>Lauritz



Jens Gyldenkærne Cla~ (18-01-2001)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-01-01 15:53

"Lasse" <lsSLET@mail.dk> skrev:

>Dem var den helle ikke så glad for, i begge tilfælde skrev den:
>
>ADO could not find the object in the collection corresponding to the
>name or ordinal reference requested by the application

O.k. - den her er afprøvet:

SELECT * FROM <tabel> WHERE <idfelt> IN
(SELECT DISTINCTROW TOP 10 <idfelt> FROM <tabel> ORDER BY <sort-felt>)
ORDER BY <sort-felt> DESC

Access accepterer ikke DISTINCT i delsætningen, mens DISTINCTROW slipper
igennem. Jeg har ikke afprøvet om den rent faktisk laver en
dubletsortering.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fidoso.dk)

Lasse (19-01-2001)
Kommentar
Fra : Lasse


Dato : 19-01-01 08:08

> Jens

Den virker, men ikke med det ønskede resultat (den viser 10 resultater,
heraf kun 2 forskellige!)

MEN den her virker!!

SELECT TOP 10 Opgave_ID, Titel FROM opgaver Where Opgave_ID IN (SELECT MAX
(Opgave_ID) FROM opgaver GROUP BY Titel) Order by Opgave_ID DESC

Lasse



Jens Gyldenkærne Clausen skrev i meddelelsen ...
>"Lasse" <lsSLET@mail.dk> skrev:
>
>>Dem var den helle ikke så glad for, i begge tilfælde skrev den:
>>
>>ADO could not find the object in the collection corresponding to the
>>name or ordinal reference requested by the application
>
>O.k. - den her er afprøvet:
>
>SELECT * FROM <tabel> WHERE <idfelt> IN
>(SELECT DISTINCTROW TOP 10 <idfelt> FROM <tabel> ORDER BY <sort-felt>)
>ORDER BY <sort-felt> DESC
>
>Access accepterer ikke DISTINCT i delsætningen, mens DISTINCTROW slipper
>igennem. Jeg har ikke afprøvet om den rent faktisk laver en
>dubletsortering.
>
>--
>Jens Gyldenkærne Clausen
>MF (medlem af FIDUSO - www.fidoso.dk)



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste