SQL 外连接函数

标签 sql mysql stored-procedures join

我以前写过这个函数,但我好像记不起来了,也没有进入版本控制。现在,更多的是 sleep 不足,我不记得如何重建它。

这是个主意。我有两个表,“regPrice”和“custPrice”,共享键“itemID”。它们都有一个“价格”列,并且 custPrice 也有另一个键“acct”,这样如果 custPrice 中存在价格,它应该返回那个。如果没有 custPrice 条目,它应该返回 regPrice。

伪代码:

if(select custPrice where acct = passedAcct and itemID = passedItemID) {
   return custPrice;
else 
   return regPrice;

如有任何帮助,我们将不胜感激。

最佳答案

SELECT COALESCE(c.price, r.price) AS price
FROM regPrice r LEFT OUTER JOIN custPrice c
 ON (r.itemID = c.itemID AND c.acct = ?)
WHERE r.itemID = ?;

关于SQL 外连接函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/652013/

相关文章:

mysql - 存储过程插入最后一条记录两次,循环问题?

php - 调用返回多行的 mysql 存储过程时出错

sql - MySQL效率问题

php - 设置字段时的 Postgres 查询 SELECT

php - 使用 SQL 查询获取列名

php - COUNT个查询未运行

c++ - 从 QSqlTableModel 获取数据并放入 QVector<QPointF> 的最快方法

如果值大于当前值则 MySQL 更新

MySQL : error with --secure- file-priv while using USE LOAD DATA INFILE from R

mysql - 如何使用 PROCEDURE 在 MySQL 上运行多个查询?