Avatar billede thorus Nybegynder
17. december 2003 - 15:02 Der er 7 kommentarer og
1 løsning

BETWEEN sp.

Jeg har en tabel med :
| id  fly_id  pris  periodefra  periodetil |

der er en masse perioder for hvert fly

Jeg har en en afrejse dato som eks. hedder 12.12.2003 [2003-12-12]

Hvordan finder jeg den row i tabellen som passer med min afrejse dato?
Avatar billede di8leva Nybegynder
17. december 2003 - 15:12 #1
hos mig virkar det utmærkt med:

select id from <tabel> where periodefra <= '2003-12-12 00:00:00' and periodetil >= '2003-12-12 00:00:00'
Avatar billede thorus Nybegynder
17. december 2003 - 15:53 #2
att: di8leva
den kommer ikke med noget output

den skulle meget gerne komme med:
row: 1 1 3500 2003-11-11 2003-12-24 når jeg bruger -> 2003-11-14
Avatar billede thorus Nybegynder
17. december 2003 - 16:22 #3
jeg glemte en "FROM"

men nu er problemet:

$res1p = mysql_query("select * from pris_fly where periodefra <= '2003-12-24' and periodetil >= '2003-12-24'");
$row1p = mysql_fetch_array($res1p);
echo "{$row1p["pris"]}";

det kommer med et res.

men hvis jeg har:
Edit  Delete  1 1 3500 2003-11-11 2003-12-24
Edit  Delete  2 1 5000 2003-12-24 2003-12-25

og vil have row 2 så hiver den fat i row 1.
Avatar billede di8leva Nybegynder
17. december 2003 - 16:34 #4
Hvis du bruger dette, borde du få ud bægge rows. Får du ikke det?

Problemet kan findes i timmar:minuter:sekunder.
Som du ser i min SQL-sætning skriver jeg også dem, prøv med det.
(jeg hvid ikke 100% hvordan mySQL arbejder, mine eksempel kommer fra postgreSQL (men SQL er alltid SQL =)  ))
Avatar billede thorus Nybegynder
17. december 2003 - 16:38 #5
den kommer med begge row når jeg sætter den ind i en while.
Avatar billede di8leva Nybegynder
17. december 2003 - 16:58 #6
Ok... men då er det ju korrekt...

Eftersom datoen finns i båda intervallen så får du ut två rækker.
Prøv at ændre til:
Edit  Delete  1 1 3500 2003-11-11 2003-12-23
Edit  Delete  2 1 5000 2003-12-24 2003-12-25

så skal du nok få endast række 2
Avatar billede thorus Nybegynder
17. december 2003 - 17:14 #7
jeg har heletiden tænk på at der skulle være en overgang dato men det skal der jo ik. så din løsning er helt fin. giv et svar.
Avatar billede di8leva Nybegynder
17. december 2003 - 17:20 #8
=)
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