04. december 2002 - 15:07Der er
6 kommentarer og 1 løsning
True / False / ingen record i form for Join
Jeg er stødt på lidt af et problem med at lave en rigtig SQL-sætning.
Jeg har 2 database-tabeller: 1) personer 2) ansættelsesperioder (indeholder bl.a. feltet "ansat" som er true/false-værdier for om personen på nuværende tidspunkt er ansat eller ej)
"ansat"-feltet forstås sådan: True = personen er nu ansat False = personen er tidl. ansat ingen record = aldrig ansat
Jeg vil gerne kunne søge på: 1) alle personer (uanset om de er ansatte, tidl. ansatte eller aldrig ansatte) 2) kun ansatte 3) kun tidl. ansatte 4) kun ansatte og tidl. ansatte 5) aldrig ansatte
På søgeresultatets liste skal der udfor personen stå om personen er ansat/tidl. ansat/aldrig ansat
Håben nogen kan hjælpe med sådanne SQL-sætninger og at jeg har formuleret det forståeligt nok - ellers må I meget gerne spørge :)
1: select * from personer 2: select * from personer, ansat where personer.personid = ansat.personid and ansat.ansat = true 3: select * from personer, ansat where personer.personid = ansat.personid and ansat.ansat = false 4: select * from personer, ansat where personer.personid = ansat.personid 5: select * from ansat where personid not in (select personid from personer)
Forudsat at de 2 tabeller hedder hhv personer og ansat og at der er et felt i begge tabeller som hedder personid.
Problemet er at der kan være mange ansættelsesperioder til den samme person, så nogle records i "ansat" kan være True og samtidigt kan nogle være False.
På søgeresultatets liste skal der udfor personen stå om personen er ansat/tidl. ansat/aldrig ansat - hvordan gør jeg det?
Så skal du lave noget med at loppe gennem dine personer og for hver person så checke ansættelsesperioder for de enkelte personer.
//akj
Synes godt om
Ny brugerNybegynder
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.