Vraag : Vervanging voor lidstaten SQL 2008 van het Geheel

Hello Deskundigen,

I am kunnen een recordsetvraag de proberen te bouwen, die resultaten terugkeert die op een waarde worden gebaseerd van de plaatsselected.
The die naar de pagina wordt verzonden die de vraag is een geheel verwerkt, bijvoorbeeld -

1 = Portsmouth
2 = Southampton
3 = London
4 - de werkenboete van Birmingham
etc

This als veranderlijke verzonden ios, nochtans de vorm zonder een plaats worden voorgelegd die wordt geselecteerd, waarbij het resultaten voor al locations

If zou moeten terugkeren het een koord dat werd verzonden was, kon ik de % vervanging gebruiken, nochtans kan ik geen manier vinden om this.

I am te doen bouwend recordset gebruikend dreamweaver, wat eist kijkt een gebrek value.

My recordset momenteel als de code in de codesectie -

FYI „MMColParam“ verwijzingen veranderlijke && het is het lijnbegin „EN BINNEN AD.JBALocation (“ dat ik with

Any u kunt aanbieden met dank zal gewaardeerd worden -

Thank you
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
SELECT AD.JBAID, 
Lager (AD.JBATitle) ALS JBATitle, 
AD.JBALocation, 
AD.JBACategory 
VAN dbo.JBAdvert- ADVERTENTIE 
WAAR JBASiteID = 30 

EN AD.JBALocation BINNEN (Uitgezochte JBLocation van JBLocation waar JBLID = me („MMColParam“, JBLID)) SAMENVOEG 

ORDE DOOR AD.JBAID DESC

Antwoord : Vervanging voor lidstaten SQL 2008 van het Geheel

SQL de opbrengst van de Server veralgemeende normaal plannen die om het best in alle situaties probeert te werken.
U weet waarschijnlijk innately dat wanneer @JBLID non-zero is, het een sneller de multi-lijstvraag van JBAdvert zal moeten beginnen door JBALocation wordt gefiltreerd, maar SQL de Server vergt het plan (dat het) opnieuw zal gebruiken om goed „in de meesten/gemiddelde gevallen dat“ te werken.
Dragend dat in mening, hier unidirectioneel is om verschillende plannen van zelfde SP te veroorzaken die dynamische SQL gebruiken.
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:
36:
37:
38:
39:
40:
41:
42:
CRE�ëR PROCEDURE [dbo]. [1122]
@SiteID int.,
@JBLID int.,
@JBCID int.,
nvarchar @Keywords (50)
ZOALS
verklaar @nsql nvarchar (maximum);
plaats @nsql = '
Selecteer
AD.JBAID,          
Lager (AD.JBATitle) ALS JBATitle,          
AD.JBALocation,          
AD.JBACategory,          
AD.JBAPayRate,          
ZET (KLUSJE (11), JBADatePosted, 106) om ALS JBADatePosted,          
Lager (weggegaan (AD.JBADescription, 300) + ''… '') als JBADescription,  
AD.JBAFeaturedJob,  
AD.JBAOverWrite,  
CL.JBCLID,  
CL.JBCLName,          
CL.JBCLLogo,          
AV.ADViews,          
AP.Applications    
VAN dbo.JBAdvert- ADVERTENTIE          
de linkerzijde wordt lid (UITGEZOCHTE AP.JBAPAdvertID, TELLEN de Toepassingen (van AP.JBAPID) VAN AP dbo.JBApplication GROEP DOOR AP.JBAPAdvertID) van AP op AP.JBAPAdvertID = AD.JBAID          
de linkerzijde sluit zich aan (UITGEZOCHTE AV.AdvertID, AV.AdViews ADViews VAN GROEP dbo.JBADView AV DOOR AV.AdvertID, AV.AdViews) bij AV op AV.AdvertID = AD.JBAID          
binnen sluit me aan bij cl dbo.JBClient op CL.JBCLID = AD.JBAClientID 
WAAR JBASiteID = @SiteID 
EN AD.JBALocation BINNEN (Uitgezochte JBLocation van JBLocation '+
	geval wanneer @JBLID = „0“ toen '' anders
	„waar (JBLID =“ + streptokok (@JBLID) + „)“ eind +
')
EN AD.JBACategory BINNEN (Uitgezochte JBCategoryLabel van JBCategories '+
	geval wanneer @JBCID = „0“ toen '' anders
	„waar (JBCID =“ + streptokok (@JBCID) + „)“ eind +
„)“ +
	geval wanneer @Keywords = '' toen '' anders
	„EN JBADescription ZOALS '' % '' + @Keywords + '' % ''“ eind +
„orde door JBAID desc“;

exec sp_executeSQL @nsql, nvarchar Sleutelwoorden N'@ (50) ', @Keywords
GA
Andere oplossingen  
 
programming4us programming4us