Gå til innhold

Anbefalte innlegg

Jeg har tre tabeller:

 

-----------------------------------

tbl_avgang

primary key: AVGANG_ID

navn

-----------------------------------

tbl_avgang_ukedag

primary key: AVGANG_UKEDAG_ID

foreign key: AVGANG_ID

foreign key: UKEDAG_ID

-----------------------------------

tbl_ukedag

primary key: UKEDAG_ID

weekdayName

-----------------------------------

 

Jeg ønsker å lage en select setning der utskrift av data blir som dette:

 

AVGANG_ID | navn | mandag | tirsdag | onsdag | torsdag | fredag

-------------------------------------------------------------------

1 | avgang1 | 0 | 1 | 1 | 0 | 1

 

Verdiene 0 og 1 indikerer om det forekommer en post i tabellen 'tbl_avgang_ukedag' med 'AVGANG_ID=1' og 'UKEDAG_ID=1,2,3,4,5'.

 

Tar imot alle mulige forslag på hvordan jeg kan få dette til.

Lenke til kommentar
Videoannonse
Annonse

Personlig ville jeg nok gått fram på en helt annen måte, og heller ha en byte-verdi med bitmapping, på denne måten:

 

Mandag = 1

Tirsdag = 2

Onsdag = 4

...

Søndag = 64

 

Og så sette en verdi der de bit er satt som tilhører den aktuelle dagen. Det ene bit'et du har til rådighet kan du bruke som "daglig", og i de tilfelle bruke Mandag-Søndag bitet til å representere unntak, f eks:

 

7 = Man, Tirs og Onsdag

128 = Daglig untatt mandag

Lenke til kommentar

Hmm, smart idé! Tror jeg har skjønt hva du mener, men hvordan mener du da at tabellstrukturen skal være? Skal jeg droppe den midterste tabelle 'tbl_avgang_ukedag' også lagrer jeg bare denne verdien i 'tbl_avgang'?

 

Fordi jeg lager en database for buss rutetider, og da skal kunden kun skrive inn dato for avreise også skal jeg hente hvilken ukedag det er og hente avganger for denne dagen utifra hvilke avganger som er registrert på denne ukedagen.

 

Grunnen til at jeg ønsker å få ut 0 eller 1 som verdi om avgangen kjøres denne ukedagen eller ei er at jeg bruker GridView med checkboxes (ASP.NET) for administrering av avgangene. Kan jo få dette til ved å bruke en løkke osv, men hadde vært greit med en select setning som jeg bare brukes til datasource til å fylle gridviewet automatisk...

 

Takk for hjelpa forresten ;)

 

 

Personlig ville jeg nok gått fram på en helt annen måte, og heller ha en byte-verdi med bitmapping, på denne måten:

 

Mandag = 1

Tirsdag = 2

Onsdag = 4

...

Søndag = 64

 

Og så sette en verdi der de bit er satt som tilhører den aktuelle dagen. Det ene bit'et du har til rådighet kan du bruke som "daglig", og i de tilfelle bruke Mandag-Søndag bitet til å representere unntak, f eks:

 

7 = Man, Tirs og Onsdag

128 = Daglig untatt mandag

5919718[/snapback]

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...