SQL: Dublerings problem

Tags:    mssql sql asp.net c#

Kære udviklere,

Vi har et projekt på skolen hvor vi skal lave en "Danseskole"'s hjemmeside. Jeg er kommet til et punkt der er problemer med. Det omhandler at der findes nogle forskellige hold, i forskellige "Stilarter" (hip-hop, disco mm.) og ved hold udskrivningen skal jeg så tjekke på om man er tilmeldt dette hold. Her er der problemer.

Jeg har disse tabeller
Fold kodeboks ind/udKode 


I de forskellige tabeller har jeg noget forskelligt data:
alder - bruger - brugerstyre - hold - niveau - stilart - tilmelding

Hele oversigten over tabellerne

I "hold"-tabellen kan I se at der findes to resultater under Stilart med ID 1. Dem vil jeg gerne have udskrevet. Og når jeg eksempelvis er logget ind som "test" har jeg et brugerId som hedder 6. Ved det hold-udtræk hvor brugerId er 6 vil jeg gerne have gjort "tegn" på at jeg allerede er tilmeldt det hold (ved tilmeldings-knappen).

Med den nuværende SQL ser resultatet således ud:
Resultat

Der er allerede to fejl dér. Den skal kun udskrive holdId 4 én gang. Og den tager ikke det andet hold med hvor stilartId er lig med 1.

Min nuværende SQL:
Fold kodeboks ind/udSQL kode 


"id"-variablen er det ID som står i url-adressen.

Grunden til at den kun smider resultatet ud hvor min bruger (6) er tilmeldt er fordi at jeg bruger INNER JOIN tilmelding ON tilmelding.FK_holdId = hold.holdId. Der ville jeg bruge en LEFT JOIN, men så kommer der fejl i min .aspx fil da jeg har skrevet:

Fold kodeboks ind/udXML kode 


Er der nogle der kan hjælpe? Er nemlig helt i tvivl.



Indlæg senest redigeret d. 19.09.2012 10:49 af Bruger #16025
1 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
1) Det er godt nok en masse tabeller, fx alder burde da vist have været en kolonne på bruger.. Samme gætter jeg på med niveau..

2) Det er svært at gennemskue, men du kan fx lave en DISTINCT for at løse problemet med doublet (selvom problemet nok bunder i et problem, der burde løses). Dit asp kode burde ikke fejle blot pga. left join, det ved den intet om du har ?



t