Question : Aider à employer le SQL DANS le rapport en tant que « ET »

J'ai un sentiment là n'est aucune manière de faire ceci, mais figuré je demanderais de toute façon.  Je passe un ensemble d'étiquettes à mon sproc (serveur de SQL) dans le format de CSV.  N'importe quoi de pareil : le

sp_articlesByTag des ', paramètre du Br/>
The de cars'< est passés à mon code (simplifié) de SQL - le

SELECT * des articles OÙ les étiquettes DANS le

Unfortunately (de @tagparam) il renvoie des résultats contenant des livres OU des voitures.  Je veux qu'il renvoie des livres et des voitures.  Je recherche juste quelque chose un peu plus élégante qu'analysant le CSV et la construction OÙ rapport dans le sproc.

Thanks à l'avance pour tout help.

PS - juste ainsi je donne une image complète, mon code appelant est asp classique et j'emploie un Querystring empilé pour obtenir les étiquettes.  (IE :  search.asp ? tag=books&tag=cars qui renvoie des « livres, voitures » à moi)
class= de

Réponse : Aider à employer le SQL DANS le rapport en tant que « ET »

SI toutes les colonnes dans le CHOISI sont des « view_publicstories », quelque chose comme below devrait le faire.

Sinon, vous pouvez devez re-join au tbl_taglink.

L'une ou l'autre manière, il devrait te donner une bonne idée de ce que vous devez faire.

BTW, quand traitant les tables multiples dans une question, il sera beaucoup plus facile écrire et suivre votre code si vous suivez là des directives :

1) TOUJOURS dit toutes les tables
2) S'il y a plus d'une table dans une question, employer la table dit sur CHAQUE colonne dans le CHOISI.  Ceci le rend facile de dire quelle colonne vient de quelle table.
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 :
placer ANSI_NULLS DESSUS
placer QUOTED_IDENTIFIER DESSUS
ALLER
CHANGER LE PROCÉDÉ [dbo]. [sp_getStoriesByTag]
	@tagname varchar (2000),
	@sort international
AS
COMMENCER
	PLACER NOCOUNT DESSUS ;
	DÉCLARER le @sql comme varchar (2000)
    DÉCLARER le @tagcount comme international
    PLACER LE @TAGCOUNT = LE LEN (@TAGNAME) - LEN (REMPLACER (LE @TAGNAME, « , », '')) + 1

    PLACER le @sql = 'CHOISISSENT le recid DISTINCT, l'auteur, view_publicstories.recdate, titre, storycodes, estimation, rang, vues, pages
			Des view_publicstories INTÉRIEURS JOINDRE (
                CHOISIR le storyid
                Du tbl_taglink
                LÀ OÙ tagid DEDANS (
                    CHOISIR le tagid
                    Des tbl_tags
                    LÀ OÙ (tagname dedans (" + @tagname + ")))
                GROUPE PAR le storyid
                AYANT LE COMPTE (*) = « + MOULÉ (@tagcount COMME varchar (10)) + ") COMME allumettes
            SUR (view_publicstories.recid = matches.storyid) 
				ORDRE PAR '+ @SORT DE CAS 
                    QUAND 1 PUIS « view_publicstories.ranking »
                    QUAND 2 PUIS « view_publicstories.rating »
                    QUAND 3 PUIS « view_publicstories.title »
                    AUTREMENT « 0 »
                    EXTRÉMITÉ
        EXEC (@sql)
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us