Avatar billede bobbedude Nybegynder
10. februar 2003 - 15:02 Der er 7 kommentarer og
1 løsning

SQL Select

Min SQL

SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn FROM tilbudKategori INNER JOIN tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" and "&uge + uge1&" ;"

uge er en variabel der indeholder nummeret på den uge vi er i eks. 7

Hvis en vare er oprettet med 6 i uge og 1 i uge 1 skal denne vises i uge 6 og 7 men der kommer ikke noget ud hvis der står 6 og 1.

hvis jeg skriver SQL'en ud står der

SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn FROM tilbudKategori INNER JOIN tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between 7 and 7

Hvad er det lige jeg gør forkert ??
Avatar billede Spotgun Seniormester
10. februar 2003 - 15:16 #1
Det skyldes sikkert den måde BETWEEN funktionen virker på. Kig nærmere på det her:
http://www.w3schools.com/sql/sql_between.asp

Prøv evt. med "... BETWEEN 6 AND 8" - problemet ligger i om det er "fra og med" / "til og med" eller kun "fra" og "til"...
Avatar billede arnvig Nybegynder
10. februar 2003 - 15:19 #2
Der er forskel på hvordan de forskellige SQL installationer håndterer Between

Nogen tager between values med, nogen gør ikke.
Prøv at sige: Between <start - 1> and <slut> + 1
og se om det bliver bedre
Avatar billede bobbedude Nybegynder
10. februar 2003 - 15:20 #3
det er kun fra og til

Er problemet at der er noget i variablen uge og at der ikke er noget i uge1 før sql'en køres ??
Avatar billede arnvig Nybegynder
10. februar 2003 - 15:20 #4
således:
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn FROM tilbudKategori INNER JOIN tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" - 1 and "&uge + uge1&" + 1 ;"
Avatar billede arnvig Nybegynder
10. februar 2003 - 15:21 #5
eller må du prøve med forskellige kombinationer af  +1 og -1 indtil det virker ;-)
Avatar billede bobbedude Nybegynder
10. februar 2003 - 15:21 #6
Det er jo sådan det skal se ud

between "&uge&" and tilbudVare.uge+tilbudVare.uge1 ;"

Men det virker heller ikke

Det giver det her hvis man skriver SQL'en ud

SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn FROM tilbudKategori INNER JOIN tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between 7 and tilbudVare.uge+tilbudVare.uge1 ;
Avatar billede bobbedude Nybegynder
10. februar 2003 - 15:25 #7
Men  arnvig >> "&uge&" - 1 and "&uge + uge1&" + 1 ;" her er udtrække jo fra variabler jeg ville bruge en variabel uge + et udtræk fra databasen uge1 som ikke er en variabel.

Forstår du ?
Avatar billede bobbedude Nybegynder
11. februar 2003 - 08:05 #8
Oki det jeg vil have er summen af uge+uge1 tilsidst i sql'en
uge og uge1 kommer fra databasen.

SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn FROM tilbudKategori INNER JOIN tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" SUMMEN AF uge og uge1
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