J'ai écrit cette fonction auparavant mais je n'arrive pas à m'en souvenir et elle n'est pas passée en contrôle de version. Maintenant, plus à faire avec la privation de sommeil que toute autre chose, je ne peux pas me rappeler comment le reconstruire.Fonction de jointure externe SQL
Voici l'idée. J'ai deux tables, "regPrice" et "custPrice", avec la clé partagée "itemID". Ils ont tous deux une colonne "prix" et custPrice a aussi une autre clé "acct" telle que si un prix existe dans custPrice, il devrait retourner celui-là. S'il n'y a pas d'entrée custPrice, elle doit renvoyer le regPrice.
pseudocode:
if(select custPrice where acct = passedAcct and itemID = passedItemID) {
return custPrice;
else
return regPrice;
Toute aide serait appréciée.
semble bon. Pour en faire une procédure stockée, il suffirait de: CREATE PROCEDURE tarification (I_itemID INT, I_acct INT) CHOISIR COALESCE (prix, prix) AS prix FROM regPrice r LEFT OUTER JOIN custPrice c ON (r.itemID = c.itemID AND c.acct = I_acct) O r r.itemID = I_itemID; Est-ce correct? – Drew
Oui, cette procédure fonctionne bien. –