/ 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
Omskrivning af SQL sætning fra MySQL til M~
Fra : Kim Andersen


Dato : 27-06-06 09:01

Hej NG.

Jeg har en SQL sætning, hvor jeg i MySQL har lavet så den sortere på en
bestemt måde.
Men denne sætning er MS SQL ikke med på. How-to do ?

MySQL sætning.

SELECT action FROM tbl_action ORDER BY action='checkactivity' DESC,
action='setactivity' DESC

Hvordan skal den omskrives til MS SQL?


/Kim




 
 
Jens Gyldenkærne Cla~ (27-06-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-06-06 13:20

Kim Andersen skrev:

> MySQL sætning.
>
> SELECT action FROM tbl_action ORDER BY action='checkactivity'
> DESC, action='setactivity' DESC

Hvad gør den?


> Hvordan skal den omskrives til MS SQL?

Et bud, uden at vide hvordan MySQL håndterer din nuværende sætning:

SELECT action
FROM tbl_action
ORDER BY CASE action
       WHEN 'checkactivity' THEN 2
       WHEN 'setcativity' THEN 1
       ELSE 0 END


Hvis der kun er de to værdier, kan du vel også bare bruge:

.... ORDER BY action
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Peter Brodersen (27-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 27-06-06 13:35

On Tue, 27 Jun 2006 14:19:43 +0200, Jens Gyldenkærne Clausen
<jens@gyros.invalid> wrote:

>SELECT action
>FROM tbl_action
>ORDER BY CASE action
>        WHEN 'checkactivity' THEN 2
>        WHEN 'setcativity' THEN 1
>        ELSE 0 END

Jeg vil antage, at du skal have en DESC på her.

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203

Jens Gyldenkærne Cla~ (27-06-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-06-06 14:06

Peter Brodersen skrev:

>> SELECT action
>> FROM tbl_action
>> ORDER BY CASE action
>> WHEN 'checkactivity' THEN 2
>> WHEN 'setcativity' THEN 1
>> ELSE 0 END
>
> Jeg vil antage, at du skal have en DESC på her.

Det har du nok ret i. Det afhænger af om de to navngivne værdier
skal komme før eller efter alle andre (jeg er ikke sikker på hvad
den oprindelige forespørgsel skal gøre).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Peter Brodersen (27-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 27-06-06 14:08

On Tue, 27 Jun 2006 15:06:22 +0200, Jens Gyldenkærne Clausen
<jens@gyros.invalid> wrote:

>Det har du nok ret i. Det afhænger af om de to navngivne værdier
>skal komme før eller efter alle andre (jeg er ikke sikker på hvad
>den oprindelige forespørgsel skal gøre).

Den oprindelige vil for hvert af udsagnene returnere 1 (sand) eller 0
(falsk), og så sortere faldende efter denne værdi.

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203

Kim Andersen (06-07-2006)
Kommentar
Fra : Kim Andersen


Dato : 06-07-06 11:18

Hej Jens.

> Hvad gør den?

Tabellen indeholder forskellige actions, ca. 5 forskellige.
Men 'checkactivity' og 'setactivity' skal komme først og så derefter de
andre.

> Et bud, uden at vide hvordan MySQL håndterer din nuværende sætning:
>
> SELECT action
> FROM tbl_action
> ORDER BY CASE action
> WHEN 'checkactivity' THEN 2
> WHEN 'setcativity' THEN 1
> ELSE 0 END

Okay, så med denne indstilling , vil 'checkactivity' og 'setactivity' komme
før de andre ?

/Kim



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

Månedens bedste
Årets bedste
Sidste års bedste