|
| Finde værdien i SQL Fra : N9 |
Dato : 08-04-03 21:19 |
|
Hej
Hvis jeg har i min DB følgende:
ID
1
2
9
2
4
3
3
6
Hvordan kan jeg så finde ud af at der findes værdierne: 1, 2, 3, 4, 6, 9 ??
Mente at kunne gøre det via SQL kaldet, men andre forslag modtages også
gerne.
Takker
N9
| |
Jesper Stocholm (08-04-2003)
| Kommentar Fra : Jesper Stocholm |
Dato : 08-04-03 21:30 |
|
N9 wrote :
> Hvis jeg har i min DB følgende:
>
> ID
>
> 1
> 2
> 9
> 2
> 4
> 3
> 3
> 6
>
> Hvordan kan jeg så finde ud af at der findes værdierne: 1, 2, 3, 4, 6,
> 9 ?? Mente at kunne gøre det via SQL kaldet, men andre forslag
> modtages også gerne.
SELECT DISTINCT ID FROM TABLE1 ORDER BY 1 ASC;
FUT: dk.edb.database
--
Jesper Stocholm - www.stocholm.dk - www.asp-faq.dk
** De andre siger, at han er 16 **
Svar venligst til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html
| |
Torben Brandt (08-04-2003)
| Kommentar Fra : Torben Brandt |
Dato : 08-04-03 23:09 |
|
Jesper Stocholm wrote:
> SELECT DISTINCT ID FROM TABLE1 ORDER BY 1 ASC;
Hvad gør "ORDER BY 1 ASC" ?
"ORDER BY ID" ville jeg kunne forstå. Er det det samme?
Torben
| |
Jens Gyldenkærne Cla~ (09-04-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 09-04-03 12:38 |
|
Torben Brandt skrev:
>> SELECT DISTINCT ID FROM TABLE1 ORDER BY 1 ASC;
>
> Hvad gør "ORDER BY 1 ASC" ?
Ingenting ;) - det er vist en skrivefejl.
> "ORDER BY ID" ville jeg kunne forstå. Er det det samme?
Nej - det er bedre.
ORDER BY betyder blot "sorter efter" og det der kommer efter er så
det der sorteres efter.
ASC er i øvrigt også overflødigt, da der som standard sorteres i
stigende rækkefølge.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)
| |
Nis Jorgensen (09-04-2003)
| Kommentar Fra : Nis Jorgensen |
Dato : 09-04-03 16:31 |
|
On Wed, 09 Apr 2003 13:37:34 +0200, Jens Gyldenkærne Clausen
<jens@gyros.invalid> wrote:
>Torben Brandt skrev:
>
>>> SELECT DISTINCT ID FROM TABLE1 ORDER BY 1 ASC;
>>
>> Hvad gør "ORDER BY 1 ASC" ?
>
>Ingenting ;) - det er vist en skrivefejl.
Nej, det er "deprecated" - "1" henviser til kolonnenummeret.
--
Nis Jørgensen
Amsterdam
Please include only relevant quotes, and reply below the quoted text. Thanks
| |
Michael Hjorth (09-04-2003)
| Kommentar Fra : Michael Hjorth |
Dato : 09-04-03 19:51 |
|
Nis Jorgensen wrote:
>
>
> Nej, det er "deprecated" - "1" henviser til kolonnenummeret.
>
Deprecated? Det er da en gang i mellem nødvendigt at bruge den syntax
f.eks. hvis du har en query med UNION, da kolonnenavnene så ikke
nødvendigvis er ens.
Michael.
| |
Jesper Stocholm (09-04-2003)
| Kommentar Fra : Jesper Stocholm |
Dato : 09-04-03 21:33 |
|
Michael Hjorth wrote :
> Nis Jorgensen wrote:
>>
>> Nej, det er "deprecated" - "1" henviser til kolonnenummeret.
>>
> Deprecated? Det er da en gang i mellem nødvendigt at bruge den syntax
> f.eks. hvis du har en query med UNION, da kolonnenavnene så ikke
> nødvendigvis er ens.
jeg bruger den af og til af rent magelighedsmæssige årsager. Hvis jeg har
et resultat med et relativt begrænset antal rækker, så synes jeg det er
nemmere at overskue at skrive
ORDER BY 1 ASC,2 DESC
end
ORDER BY Field1 ASC, Field2 DESC
.... man kan så selvfølgelig argumentere for, at det måske ikke var
afsindigt velvalgt at bruge det i et eksempel, der skulle forklare lidt
SQL til en mindre øvet usenetter.
--
Jesper Stocholm - www.stocholm.dk - www.asp-faq.dk
** De andre siger, at han er 16 **
Svar venligst til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html
| |
Jens Gyldenkærne Cla~ (09-04-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 09-04-03 17:28 |
|
Nis Jorgensen skrev:
>>> Hvad gør "ORDER BY 1 ASC" ?
>>Ingenting ;) - det er vist en skrivefejl.
>
> Nej, det er "deprecated" - "1" henviser til kolonnenummeret.
O.k. - så lærte jeg noget nyt i dag. Hvor mange databaser
understøtter den syntaks?
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.
| |
Kristian Damm Jensen (09-04-2003)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 09-04-03 20:17 |
|
Jens Gyldenkærne Clausen <jens@gyros.invalid> wrote in
news:Xns9358BBDAE10EFjcdmfdk@gyrosmod.cybercity.dk:
> Nis Jorgensen skrev:
>
>> Nej, det er "deprecated" - "1" henviser til kolonnenummeret.
>
> O.k. - så lærte jeg noget nyt i dag. Hvor mange databaser
> understøtter den syntaks?
Det ved jeg ikke; men det var standard i SQL-89
| |
Jens Gyldenkærne Cla~ (09-04-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 09-04-03 23:24 |
|
Michael Hjorth skrev:
> Deprecated? Det er da en gang i mellem nødvendigt at bruge den
> syntax f.eks. hvis du har en query med UNION, da
> kolonnenavnene så ikke nødvendigvis er ens.
Det er ikke tilfældet i de databaser jeg har arbejdet med (SQL
server og Access). Her bestemmes kolonnenavnene ved en UNION-
forespørgsel af den første forespørgsel.
Er der databaser hvor det ikke er tilfældet?
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.
| |
Michael Hjorth (13-04-2003)
| Kommentar Fra : Michael Hjorth |
Dato : 13-04-03 00:13 |
|
Jens Gyldenkærne Clausen wrote:
>
> Michael Hjorth skrev:
>
> > Deprecated? Det er da en gang i mellem nødvendigt at bruge den
> > syntax f.eks. hvis du har en query med UNION, da
> > kolonnenavnene så ikke nødvendigvis er ens.
>
> Det er ikke tilfældet i de databaser jeg har arbejdet med (SQL
> server og Access). Her bestemmes kolonnenavnene ved en UNION-
> forespørgsel af den første forespørgsel.
>
> Er der databaser hvor det ikke er tilfældet?
Jeg har arbejdet en del med Oracle 6 (vi har stadig nogle få baser i
drift på mit arbejde) og der skal man bruge kolonnenummeret hvis der en
UNION med.
I dag med Oracle versioner 8 eller 9 er det kolonnenavnene i den første
forespørgsel som afgør det. Dvs. på samme måde som du ser det med MS
produkterne.
Michael.
| |
Gunnar S. Müller (15-04-2003)
| Kommentar Fra : Gunnar S. Müller |
Dato : 15-04-03 20:46 |
|
Hej N9
Hvis du "bare" skal vide om der mindst er een forekomst af en række værdier,
kan du bruge følgende:
SELECT 1 FROM tabel WHERE id IN (1, 2, 3, 4, 6, 9)
Hvis du for EOT direkte efter kaldet eksisterer der ikke nogen rækker med
disse værdier.
(Om du selecter '1' eller '*' er ligemeget, spørgsmålet er her, om du får
nul eller en/flere rækker retur)
Du kan også finde antalet af rækker:
SELECT COUNT(*) AS ANTAL FROM tabel WHERE id IN (1, 2, 3, 4, 6, 9)
Hvis du ikke får EOT, indeholder ANTAL nu værdien 8 (med de id'er du angav)
Med venlig hilsen
Gunnar S. Müller
"N9" <nhiasy@stofanet.dk> skrev i en meddelelse
news:3e932ec5$0$4371$ba624c82@nntp03.dk.telia.net...
> Hej
>
> Hvis jeg har i min DB følgende:
>
> ID
>
> 1
> 2
> 9
> 2
> 4
> 3
> 3
> 6
>
> Hvordan kan jeg så finde ud af at der findes værdierne: 1, 2, 3, 4, 6, 9
??
> Mente at kunne gøre det via SQL kaldet, men andre forslag modtages også
> gerne.
> Takker
>
> N9
>
>
| |
|
|