Avatar billede Syska Mester
09. november 2008 - 01:04 Der er 5 kommentarer og
1 løsning

WHERE problem med NULL og numbers

Hej,

Jeg har en stored procedure som tager nogen parameter ...

SELECT * FROM Players WHERE AID =

Her kommer så mit problem ...
Enten vil jeg have alle rows ... eller også kun dem hvor AID IS NULL

Men hvordan kan det laves i samme query?

ISNULL kan jo ik' bruges, og den skal jo også kobles sammen med en input parameter ... kan ikke lige regne det ud ...

Den sidste del med input parameter må være hvad i synes, da det er en ændring er jeg ved at lave ...

Kaldet kommer fra en ASP.NET side hvis det skulle have noget at sige ...

mvh
Avatar billede Syska Mester
09. november 2008 - 01:42 #1
declare @IsNotMember int = 999999999
SELECT AID, UID FROM
Players WHERE SID = 7 AND Active = 1 AND ISNULL(AID, 0) <= @IsNotMember

Håber ik' der kommer flere AID end der kan være i en INT

Men lader det stå åbent hvis der kommer en med en bedre løsning

// ouT
Avatar billede arne_v Ekspert
09. november 2008 - 04:21 #2
Hvad med:

SELECT ... WHERE ... @all=1 OR (@all=0 AND aid IS NULL)

?
Avatar billede arne_v Ekspert
09. november 2008 - 04:21 #3
Hvis det alligevel er en SP ville jeg nok finde en IF i SP'en og to forskellige
SELECT pænere.
Avatar billede Syska Mester
09. november 2008 - 19:51 #4
Ja, en mulighed, men der er allerede 3 forskellige SEELCT i den SP, så at skulle lave 3*2 bare pga dette lille stunt ville være træls ... alt for nemt der ville kunne opstå fejl.

Ang OR så er jeg ikke glad for den da jeg har haft steder hvor det gav virkelig ringe performance, så jeg tror jeg holder mig til overstående, da det stadig for mig virker som den bedste løsning.

// ouT
Avatar billede arne_v Ekspert
18. januar 2009 - 04:17 #5
fair nok
Avatar billede Syska Mester
18. januar 2009 - 04:32 #6
lukker ... brugte min egen løsning
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester