Я написал эту функцию раньше, но я не могу ее запомнить, и она не попала в контроль версий. Теперь, больше, чем лишение сна, чем что-либо еще, я не могу вспомнить, как его перестроить.SQL Outer Join Function
Вот эта идея. У меня есть две таблицы: «regPrice» и «custPrice», с общим ключом «itemID». Они оба имеют столбец «цена», а custPrice также имеет еще один ключ «acct», так что если цена существует в custPrice, она должна вернуть ее. Если нет записи custPrice, она должна вернуть regPrice.
псевдокод:
if(select custPrice where acct = passedAcct and itemID = passedItemID) {
return custPrice;
else
return regPrice;
Любая помощь будет оценена.
Выглядит хорошо. Чтобы сделать его хранимой процедурой, это будет просто: CREATE PROCEDURE price (I_itemID INT, I_acct INT) SELECT COALESCE (c.price, r.price) AS цена FROM regPrice r LEFT OUTER JOIN custPrice c ON (r.itemID = c.itemID И c.acct = I_acct) WHERE r.itemID = I_itemID; Это правильно? – Drew
Да, эта процедура работает нормально. –