这是我的问题:
select product_name, (sum(item_price - discount_amount) * (quantity)) AS product_total
from products inner join order_items
using(product_id)
group by product_name
我的查询输出:
预期产出:
我几乎要显示所有内容,但Gibson Les Paul
product_total
错误,最后一行没有显示带有ull
的N product_total
。
答案 0 :(得分:0)
内部联接意味着您只能看到具有product_name的order_items。使用外部联接查看没有product_name的order_items。此外,您的sum
应该是最外层的功能。也许是这样的:
select product_name, sum((item_price - discount_amount) * (quantity)) AS product_total
from order_items left join products
on order_items.product_id=products.product_id
group by product_name
如果需要,请查找内部和外部联接的说明,例如like this question。
但是,仔细观察一下您的数据,联接类型可能不是null
行的问题。底行只是所有其他行的总和,因此在group by子句之后添加with rollup将为您提供该行。