19. november 2009 - 08:40Der 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?
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 ...
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.