J'ai une procédure stockée avec un certain nombre de paramètres. Je voudrais écrire ma requête pour qu'elle se connecte à certaines tables mais seulement si un paramètre particulier a une valeur. Prenons l'exemple suivant: J'ai une table Person. Il existe également une table d'adresses contenant des adresses de personnes et une table de groupes contenant des groupes de personnes. Les deux sont des relations un à plusieurs avec la table Person. Ma procédure stockée a un paramètre @AddressID et un paramètre @GroupID.T-SQL - Comment écrire une jointure conditionnelle
La requête renvoie toujours les champs de la table Person. Si aucun paramètre n'a de valeur, la requête doit renvoyer tous les enregistrements de la table Person. Si le paramètre @AddressID est fourni, il doit retourner uniquement les enregistrements qui ont un enregistrement correspondant dans la table Address et ignorer la table Groups. Si le paramètre @GroupID est fourni, il doit retourner uniquement les enregistrements qui ont un enregistrement correspondant dans la table Groups et ignorer la table Addresses. Si les deux paramètres sont fournis, il ne doit afficher que les enregistrements ayant un enregistrement correspondant dans les deux tables. Avoir du sens?
Existe-t-il un moyen simple de faire cela qui me manque?
Merci, Corey
Merci pour vos questions. Personne d'autre n'a. Ceci est très utile lors de l'utilisation de LEFT JOIN par exemple. – Jorge