jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
19 oct. 2005 à 11:14
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
20 oct. 2005 à 20:05
Bonjour, j'ai 2 problèmes avec une procédure stockée sur SQL server 2000
D'une part, j'aimerais filtrer mes articles par catégorie, si @IDCat est different de NULL. C'est à dire si je ne met aucun paramètre, cela me retourne tous les articles des differentes catégories.
D'autre part, j'aimerais si @ShowInactive False que cela me renvoie seulement les articles Actifs et contenu dans des catégories Actives, sinon (@ShowInactive True) que cela me renvoie tous les articles, qu'ils soient actifs ou non.
Je pourrais faire ceci avec plusieurs procédure stockée, mais je pense qu'il est preferable de faire ca avec une seule.
Voici la procédure en question.
ALTER procedure [dbo].[SP_GetArticlesSummary]
(
@IDCat int = NULL,
@ShowInactive bit = False
)
as
SELECT Table_Articles.IDArticle, Table_Articles.IDCat, Table_Articles.[Date], Table_Articles.Title, Table_Articles.Article, Table_Articles.Summary,
Table_Articles.IDAuthor, Table_Authors.Pseudo, Table_Authors.AuthorUrl, Table_Authors.Nom, Table_Authors.Prenom, Table_Authors.email,
Table_ArticleCategories.CatName, Table_ArticleCategories.isActive, Table_ArticleCategories.CatDescription, Table_ArticleCategories.Position
FROM Table_Articles INNER JOIN
Table_Authors ON Table_Articles.IDAuthor = Table_Authors.IDAuthor INNER JOIN
Table_ArticleCategories ON Table_Articles.IDCat = Table_ArticleCategories.IDCat
WHERE (
Table_ArticleCategories.isActive = 'True' and
Table_Articles.IDCat = @IDCat and
Table_Articles.isActive = 'True'
)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 20 oct. 2005 à 20:05
Merci de ta réponse,
finalement aprés beaucoup de reflexion j'ai réussit à faire ca avec des conditions :
WHERE (
( (Table_Articles.isActive 'True' OR @ShowInactive 'True')
and (Table_ArticleCategories.isActive 'True' OR @ShowInactive 'True')
)
and
(
Table_Articles.IDCat = @IDCat
OR
@IDCat IS NULL
)
)
J'ai fait quelques test et ca fonctionne :)
Merci quand meme de t'etre interessé a mon problème