ironheadMedlem sedan mars 20011 327 inlägg Hej!
Jag har flera fält i en MSSQL 7.0 db där priset är beroende på om datumet som är inmatat är "närmast" passerat.
struktur
artikelnr
artikeltext
prisdatum1
prisdatum2
forsaljningspris1
forsaljningspris2
Jag skulle vilja ha hjälp med en selectsats som jag inte får att gå ihop:
Om prisdatum1 eller prisdatum2 är närmast passerat datum utifrån dagens datum, så ska det priset gälla (forsaljningspris1 eller forsaljningspris2)
Går det att klämma in nåt sånt i en SELECT-sats? Jag har fastnat...
red. Löste det i ASP istället med "DatePart"
GladhMedlem sedan maj 20013 024 inlägg Du stötter på detta problem eftersom din databasdesign inte är korrekt.
Om du istället hade flyttat ut priset till en egen tabell så hade du aldrig fått något problem.
Så här:
tblArtikel
-----------------------------
ID|ArtikelText|.....
tblArtikelPris
----------------------------------
ID|IDArtikel|Pris|Datum
Nu när du uppdaterar priset så hamlar det i tabellen ArtikelPris och man kan enkelt hämta det senaste priset, eftersom du då tar den post som är sist inmatad för just detta ArtikelID. Om du bygger ut kolumnen med 2 datum fält. StarDate och EndDate så kan du använda dessa för att hitta rätt pris, och då kan du enkelt mata in priset flera veckor iförväg om du vill, du kan även hitta rätt pris vid ett givet datum.
Men som sagt, det kräver att du tänker om på din databasdesign. Kolumnen som dina prisdatum1 och prisdatum2 skall aldrig uppsåt i en tabell då har man en felaktig databasdesign. Man kan ha det som du om man vet vad man sysslar med :)
- Magnus