Avatar billede thehollow Nybegynder
15. december 2003 - 22:31 Der er 9 kommentarer og
1 løsning

SWITCH eller IF i MySQL

Hei
Jeg lurer på om noen vet om det er mulig å erstatte verdier i en SQL-setning. Jeg har gjort dette med en Access-database. Der er SQL'en slik (omtrent):

SELECT id, tekst, SWITCH(id=1, "Test 1", id=2, "Test 2") AS [test] FROM min_tabell

Finnes det et alternativ i MySQL?

NB: Jeg er klar over at dette kan hentes ut fra en tabell med "Test 1", "Test 2" osv i.

//theHollow (Norge)
Avatar billede arne_v Ekspert
15. december 2003 - 22:38 #1
Du kan f.eks. lave en tabel med:

id  txt
1  'Test 1'
2  'Test 2'

Og så:

SELECT tabel.id,tabel.tekst,xtabel.txt FROM tabel INNER JOIN xtabel ON tabel.id=xtabel.id
Avatar billede thehollow Nybegynder
15. december 2003 - 22:39 #2
Det jeg også er ute etter er dette scenarioet:

Jeg har en tabell med et dato-felt i. Feltet kaller jeg "avtale_dato". Dette feltet kan være null (nil). Jeg skal liste ut datoene. Dersom "avtale_dato" har en verdi skal denne verdien listes ut som vanlig. Hvis "avtale_dato" er null (nil) skal det listes ut f.eks. "ingen avtale".

Dette vet jeg går an å løse med SWITCH i Access, men hvorledes gjør jeg det i MySQL?

//theHollow
Avatar billede arne_v Ekspert
15. december 2003 - 22:39 #3
Men ellers så læs dette afsnit af manualen:
  http://www.mysql.com/doc/en/Control_flow_functions.html
Avatar billede arne_v Ekspert
15. december 2003 - 22:40 #4
Det har en stribe nyttige funktioner til den slags.
Avatar billede thehollow Nybegynder
15. december 2003 - 22:40 #5
arne_v

Les dette:
[Quote]
NB: Jeg er klar over at dette kan hentes ut fra en tabell med "Test 1", "Test 2" osv i.
[Quote]

Vet at dette er mulig, men her er dette uinteressant at dette er mulig :-)

//theHollow
Avatar billede arne_v Ekspert
15. december 2003 - 22:41 #6
Så må du kigge på linket jeg gav.
Avatar billede detox Nybegynder
15. december 2003 - 22:44 #7
Og der er netop funktionen: CASE som vel bedst kan sammenlignes med SWITCH
Avatar billede thehollow Nybegynder
15. december 2003 - 22:45 #8
Det er gjort :-)
Takker så meget!

//theHollow
Avatar billede thehollow Nybegynder
15. december 2003 - 22:45 #9
Legg inn svar så får du poengene dine :-)

//theHollow
Avatar billede arne_v Ekspert
15. december 2003 - 22:48 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester