Frage : Wildcard für ganze Zahl Mitgliedstaat SQL 2008

Hallo gründeten Experten, das

I morgens versuchend, eine recordset Frage, die aufzubauen Resultate zurückbringt, auf einem Positionswert der Position selected.
The, der zur Seite geschickt wurde, die die Frage verarbeitet, ist eine ganze Zahl, ein zum Beispiel -

1 = Portsmouth
2 = Southampton
3 = London
4 - Birmingham
etc

This ist, wenn ein variabler IOS gesendet, gleichwohl die Form ohne eine Position eingereicht werden kann, die vorgewählt wird, in diesem Fall sie Resultate für alles locations

If zurückbringt, das es eine Schnur war, die gesendet wurde, ich könnte die % Wildcard verwenden, gleichwohl ich eine Weise des Handelns von this.

I morgens nicht finden kann das recordset using dreamweaver errichtend, das verlangt, sieht ein Rückstellung value.

My recordset z.Z. wie der Code im Codeabschnitt -

FYI „MMColParam“ Hinweise das variable && ist es die Linie Anfang „UND AD.JBALocation INNEN (“ dieses strugling ich with

Any Hilfe, die Sie anbieten können werden dankbar geschätzt -

Thank you
aus
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
SELECT AD.JBAID, 
(AD.JBATitle) ALS JBATitle senken, 
AD.JBALocation, 
AD.JBACategory 
Von der dbo.JBAdvert ANZEIGE 
WO JBASiteID = 30 

UND AD.JBALocation INNEN (auserwähltes JBLocation von JBLocation, in dem JBLID = VERSCHMELZEN („MMColParam“, JBLID)) 

AUFTRAG DURCH AD.JBAID DESC

Antwort : Wildcard für ganze Zahl Mitgliedstaat SQL 2008

Erzeugnis des SQL-Servers normalerweise generalisierte Pläne, das versucht, in allen Situationen gut zu arbeiten.
Sie wissen vermutlich angeboren, dass, wenn @JBLID ungleich null ist, es viel schneller ist, die Multitabelle Frage von JBAdvert zu beginnen, das von JBALocation gefiltert wird, aber SQL-Server benötigt den Plan (den er wiederverwendet), „in die meisten/in den durchschnittlichen Fällen“ gut zu arbeiten.
Berücksichtigt, dass, hier Einweg, verschiedene Pläne aus dem gleichen SP using dynamischen SQL zu produzieren.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
VERFAHREN [dbo] VERURSACHEN. [1122]
@SiteID int,
@JBLID int,
@JBCID int,
@Keywords nvarchar (50)
WIE
das @nsql erklären, das nvarchar ist (maximal);
@nsql einstellen = '
Vorwählen
AD.JBAID,          
(AD.JBATitle) ALS JBATitle senken,          
AD.JBALocation,          
AD.JBACategory,          
AD.JBAPayRate,          
BEKEHRTER (PUTZFRAU (11), JBADatePosted, 106) ALS JBADatePosted,          
(Nach links (AD.JBADescription, 300) + ''… '') als JBADescription senken,  
AD.JBAFeaturedJob,  
AD.JBAOverWrite,  
CL.JBCLID,  
CL.JBCLName,          
CL.JBCLLogo,          
AV.ADViews,          
AP.Applications    
Von der dbo.JBAdvert ANZEIGE          
links verbinden (AUSERWÄHLTES AP.JBAPAdvertID, ZÄHLIMPULS (AP.JBAPID) Anwendungen dbo.JBApplication AP VON DER GRUPPE DURCH AP.JBAPAdvertID) AP auf AP.JBAPAdvertID = AD.JBAID          
links schließen sich (AUSERWÄHLTES AV.AdvertID, AV.AdViews ADViews dbo.JBADView Handels VON DER GRUPPE DURCH AV.AdvertID, AV.AdViews) Handels auf AV.AdvertID = AD.JBAID an          
inner dbo.JBClient CL auf verbinden CL.JBCLID = AD.JBAClientID 
WO JBASiteID = @SiteID 
UND AD.JBALocation INNEN (auserwähltes JBLocation von JBLocation '+
	Fall wenn @JBLID = „0“ dann '' sonst
	„wo (JBLID =“ + str (@JBLID) + ")“ Ende +
')
UND AD.JBACategory INNEN (auserwähltes JBCategoryLabel von JBCategories '+
	Fall wenn @JBCID = „0“ dann '' sonst
	„wo (JBCID =“ + str (@JBCID) + ")“ Ende +
")“ +
	Fall wenn @Keywords = '' dann '' sonst
	„UND JBADescription MÖGEN '' % '' + @Keywords + '' % ''“ Ende +
„Auftrag durch JBAID desc“;

exec sp_executeSQL @nsql, N'@ Schlüsselwörter nvarchar (50) ', @Keywords
GEHEN
Weitere Lösungen  
 
programming4us programming4us