Questione : Contribuire a utilizzare lo SQL nella dichiarazione come “E„

Ho una sensibilità là sono senso fare questo, ma calcolato chiederei comunque.  Sto passando un insieme delle modifiche al mio sproc (assistente di SQL) nella disposizione di CSV.  Qualcosa di simile: il

sp_articlesByTag ', parametro del Br/>
The del cars'< è passato al mio codice (semplificato) di SQL -

SELECT * dagli articoli IN CUI le modifiche nel

Unfortunately (del @tagparam) esso restituisce i risultati che contengono i libri O le automobili.  Lo voglio restituire i libri e le automobili.  Sto cercando appena qualcosa un po'più elegante di analizzando il CSV e la costruzione DOVE dichiarazione nello sproc.

Thanks in anticipo per qualsiasi help.

PS - appena così dò un'immagine completa, il mio codice di chiamata è asp classico e sto usando un Querystring impilato per ottenere le modifiche.  (IE:  search.asp? tag=books&tag=cars che restituisce “i libri, automobili„ a me)
class= del

Risposta : Contribuire a utilizzare lo SQL nella dichiarazione come “E„

SE tutte le colonne nel PRESCELTO provengono “dai view_publicstories„, qualcosa come sotto dovrebbe farlo.

Se non, potete dovete re-join a tbl_taglink.

Il uno o il altro senso, dovrebbe dargli una buona idea di che cosa dovete fare.

BTW quando si occupa delle tabelle multiple in una domanda, il vostro codice sarà molto più facile da scrivere e seguire se seguite là la guida di riferimento:

1) SEMPRE altrimenti detto tutte le tabelle
2) Se ci è più di una tabella in una domanda, utilizzare la tabella altrimenti detto su OGNI colonna nel PRESCELTO.  Ciò lo rende facile dire che colonna viene da che tabella.
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:
regolare ANSI_NULLS SOPRA
regolare QUOTED_IDENTIFIER SOPRA
ANDARE
ALTERARE LA PROCEDURA [dbo]. [sp_getStoriesByTag]
	@tagname varchar (2000),
	@sort int
AS
COMINCIARE
	REGOLARE NOCOUNT SOPRA;
	DICHIARARE il @sql come varchar (2000)
    DICHIARARE il @tagcount come int
    REGOLARE IL @TAGCOUNT = LEN (@TAGNAME) - LEN (SOSTITUIRE (@TAGNAME, “,„, '')) + 1

    REGOLARE il @sql = 'SELEZIONANO il recid DISTINTO, l'autore, view_publicstories.recdate, il titolo, gli storycodes, la valutazione, il posto, le viste, pagine
			Dai view_publicstories INTERNI UNIR (
                SELEZIONARE lo storyid
                Da tbl_taglink
                DOVE tagid DENTRO (
                    SELEZIONARE il tagid
                    Dai tbl_tags
                    DOVE (tagname dentro (" + @tagname + ")))
                GRUPPO da storyid
                AVENDO CONTEGGIO (*) = “+ FUSO (@tagcount COME varchar (10)) + ") COME fiammiferi
            SU (view_publicstories.recid = matches.storyid) 
				ORDINE DA '+ @SORT DI CASO 
                    QUANDO 1 ALLORA “view_publicstories.ranking„
                    QUANDO 2 ALLORA “view_publicstories.rating„
                    QUANDO 3 ALLORA “view_publicstories.title„
                    ALTRIMENTI “0„
                    ESTREMITÀ
        EXEC (@sql)
Altre soluzioni  
 
programming4us programming4us