Jag har en procedur som söker efter personer i databasen.
Nu har jag utökat den med att ha kryssrutor som markerar vilken typ av access personen har, vi kan säga area1, area2, area3 alla kan vara ikryssade eller bara en eller två.
När jag då vill söka efter de som har tillgång till area2 oavsett vilka de andra är så skickar jag med variablerna i min procedur.
Hur ska jag då få till min wheresats så att den hämtar alla som har area2 = 1 oavsett de andra.. de kommer med som area1=0 och area3 = 0
följande snutt löser ju inget.
where
area1 = @area1 or area2 = @area2 or area3 = @area3
Nu blir det maximalt antal träffar varje gång jag söker oavsett vilken area jag söker på.
Det måste ju vara ett vanligt sätt att söka rätt på personer?
Lista alla som uppfyller mina ikryssade rutor. Har försökt att ange ej ikryssad som 'null' eller ngt annat värde som inte finns i databasen men det går inte heller.
Hoppas det finns ngn där ute som kan hjälpa mig.. pliis
where case when @area1 = 1 and @area1 = area1 then 1 else 0 end +
case when @area2 = 1 and @area2 = area2 then 1 else 0 end +
case when @area3 = 1 and @area3 = area3 then 1 else 0 end > 0
or @area1 + @area2 + @area3 = 0