|
| SQL-spørgsmål Fra : Morten Snedker |
Dato : 25-11-03 11:15 |
|
En tabel indeholder ex. 5 poster og har kun ét felt, Point:
Point
--------
654
321
789
125
758
Jeg vil gerne generere et beregnet felt, så det kommer til at se
således ud:
Point Grading
------- ------------
789 1
758 2
654 3
321 4
125 5
Altså sorteres faldende på point, og så et beregnet felt "Grading" som
er fortløbende. Kan det laves i ren SQL - og hvordan skal det se ud?
mhv /Snedker
---
Svar venligst under det citerede
Klip og udelad, hvad du ikke besvarer
| |
Kristian Damm Jensen (25-11-2003)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 25-11-03 11:29 |
|
Morten Snedker wrote:
> En tabel indeholder ex. 5 poster og har kun ét felt, Point:
>
> Point
> --------
> 654
> 321
> 789
> 125
> 758
>
>
> Jeg vil gerne generere et beregnet felt, så det kommer til at se
> således ud:
>
> Point Grading
> ------- ------------
> 789 1
> 758 2
> 654 3
> 321 4
> 125 5
>
>
> Altså sorteres faldende på point, og så et beregnet felt "Grading"
som
> er fortløbende. Kan det laves i ren SQL - og hvordan skal det se ud?
select point,
(select count(*) from Tabel T2 where T1.point <= T2.point) as
grading
from tabel T1
Den eneste fejl er, at hvis den samme værdi forekommer to gange, så
vil grading for denne værdi ikke blive den højeste (som normalt) men
den laveste af de to.
--
Kristian Damm Jensen
damm (at) ofir (dot) dk
| |
Morten Snedker (25-11-2003)
| Kommentar Fra : Morten Snedker |
Dato : 25-11-03 13:38 |
|
On Tue, 25 Nov 2003 11:29:28 +0100, "Kristian Damm Jensen"
<REdammMOVE@ofir.dk> wrote:
>select point,
> (select count(*) from Tabel T2 where T1.point <= T2.point) as
>grading
>from tabel T1
T2...hva' er det. Der er jo kun én tabel...?
/Snedker
---
Svar venligst under det citerede
Klip og udelad, hvad du ikke besvarer
| |
Peter Lykkegaard (25-11-2003)
| Kommentar Fra : Peter Lykkegaard |
Dato : 25-11-03 13:39 |
|
"Morten Snedker" wrote in a message
> On Tue, 25 Nov 2003 11:29:28 +0100, "Kristian Damm Jensen"
> <REdammMOVE@ofir.dk> wrote:
>
>
> >select point,
> > (select count(*) from Tabel T2 where T1.point <= T2.point) as
> >grading
> >from tabel T1
>
> T2...hva' er det.
Alias
>Der er jo kun én tabel...?
>
Ja?
- Peter
| |
Jesper Brunholm (25-11-2003)
| Kommentar Fra : Jesper Brunholm |
Dato : 25-11-03 13:43 |
|
Morten Snedker wrote:
>>select point,
>> (select count(*) from Tabel T2 where T1.point <= T2.point) as
>>grading
>
>>from tabel T1
>
> T2...hva' er det. Der er jo kun én tabel...?
det er et alias. Man kan kalde det en midlertidig, virtuel tabel
mvh
Jesper Brunholm
--
Phønix - dansk folk-musik i front - < http://www.phonixfolk.dk/>
H.C. Andersen-Centret: < http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: < http://garion.dk/>
| |
Kristian Damm Jensen (25-11-2003)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 25-11-03 14:22 |
|
Morten Snedker wrote:
> On Tue, 25 Nov 2003 11:29:28 +0100, "Kristian Damm Jensen"
> <REdammMOVE@ofir.dk> wrote:
>
>
>> select point,
>> (select count(*) from Tabel T2 where T1.point <= T2.point) as
>> grading
>> from tabel T1
>
> T2...hva' er det. Der er jo kun én tabel...?
Nej, der er to: Tabel alias T1 og Tabel alias T2. Samme tabel optræder
altså under to forskellige navne, og mere end det: i to forskellige
instanser.
--
Kristian Damm Jensen
damm (at) ofir (dot) dk
| |
|
|