Mitt, var satsen är som, följer: för
WHERE (friheten INTE ÄR OGILTIG), AND (@ShowOnline = 0 ELLER [on-line] = 1) OCH (@ShowOnlinen = 1 ELLER längd mellan @lon1 och @lon2 och friheten mellan @lat1 och @lat2) --OCH (@ShowOnlinen = 1 ELLER friheten är ogiltig eller längd mellan @lon1 och @lon2 och friheten mellan @lat1 och @lat2), OCH (@Keywords = '' ELLER (den AboutMe NÅGOT LIKNANDE ”%” + @Keywords + ”%” OR intresserar NÅGOT LIKNANDE ”%” + @Keywords + ”%”)), OCH (@ethnicityen = ”några” ELLER etnicitet = @ethnicityen) OCH (@Username = '' ELLER Username-NÅGOT LIKNANDE ”%” + @Username + ”%”)
However, någon utan en lat/long kan inte finnas av username-kriterierna, så vad vi behöver att göra, är att glömma all critiera om @Username! = '', annorlunda vi behöver att köra den annan ien stora partier av queryen, så i psudocode den skulle looknågot liknande:
IF @Username != för else '' för then (@Username = '' ELLER Username LIKA ”%” + @Username + ”%”) (friheten INTE ÄR OGILTIG), AND (@ShowOnline = 0 ELLER [on-line] = 1) OCH (@ShowOnlinen = 1 ELLER längd mellan @lon1 och @lon2 och friheten mellan @lat1 och @lat2) --OCH (@ShowOnlinen = 1 ELLER friheten är ogiltig eller längd mellan @lon1 och @lon2 och friheten mellan @lat1 och @lat2), OCH (@Keywords = '' ELLER (AboutMe LIKA ”%” + @Keywords + ”%” OR intresserar NÅGOT LIKNANDE ”%” + @Keywords + ”%”)), OCH (@ethnicityen = ”några” ELLER etnicitet = @ethnicityen)
Sorry om formatting
" klar "
|