如何使查询始终返回一些东西,当它找不到我正在查找的内容时的默认值?避免空返回集
例如,在下面的查询:
SELECT
food_id,
drink_id,
payment_amount,
count(*) AS total_payments,
payment_amount * count(*) AS total_benefit
FROM foods pc
INNER JOIN drinks px
ON pc.id = px.food_id
AND pc.drink_id = 25
GROUP BY food_id, drink_id;
时pc.id不等于px.food_id我得到一个空集。我正在寻找的东西,如:
SELECT
food_id DEFAULT IF NOTHING 5,
drink_id DEFAULT IF NOTHING 25,
payment_amount DEFAULT IF NOTHING 0,
count(*) AS total_payments DEFAULT IF NOTHING 0,
payment_amount * count(*) AS total_benefit DEFAULT 0
FROM foods pc
INNER JOIN drinks px
ON pc.id = px.food_id
AND pc.drink_id = 25
GROUP BY food_id, drink_id;
任何方式做类似上述?
这如果有一个结果集,它包含了输出字段空值才有效。它将无法补偿空的结果集。 – MatBailie
@Dems D'oh,是的,错过了。 +1给Tevo。 – Rup