Avatar billede hundevennen Nybegynder
19. november 2009 - 08:40 Der er 2 kommentarer og
1 løsning

hjælp til sql sætning

jeg vil gerne lave en sqlsætning der indeholder whereklausuler fra en formular.
Formularen indeholder årstal, månedsnummer ugenr og art.

Det jeg har p.t. er således:
aarstal = request.form("aarstal")
maanedsnummer = request.form("maanedsnr")
uge = request.form("uge")
art = request.form("art")
dato = request.form("dato")

strtext = "select * from tabel where year(dato) = "&aarstal&" and uge =  "&uge&"" and....osv

Det jeg gerne vil er, at man i formen kan nøjes med kun at vælge et af punkterne og efterlade de andre 4 blanke eller vælge 2 og lade 3 blanke - altså frit valg mellem alle 5 muligheder?
Avatar billede steber Nybegynder
19. november 2009 - 09:52 #1
Når du nu opbygger strtext, kan du ikke opbygge den dynamisk (?) - altså noget i stil med
strtext = "select * from tabel where "
IF aarstal udfyldt THEN
  strtext = strtext + "year(dato) = ...
...

Alternativt, hvis det nu var i Oracle ville du kunne lave det i ren SQL således (og det kan du nok også i andre databaser evt. på en lidt revideret måde):
SELECT *
FROM tabel
WHERE (aarstal IS NULL OR aarstal = year(dato)
AND (maanedsnummer IS NULL OR maanedsnummer = to_char( dato, 'MM'))
AND ...
Avatar billede johnstigers Seniormester
07. juni 2010 - 17:32 #2
Feedback?
Avatar billede hundevennen Nybegynder
26. juli 2010 - 10:51 #3
opgaven blev syltet og spm ikke længere aktuelt
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
Kurser inden for grundlæggende programmering

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