首页 > 解决方案 > SQL 嵌套连接不使用 WHERE

问题描述

目前每种产品的价格是多少?显示产品代码、产品描述、单位及其当前价格。始终假设并非所有产品都有单价,但即使它没有单价,您也需要显示它。不使用 WHERE 脚本

产品表

  1. 产品代码
  2. 描述
  3. 单元

价格历史表

  1. 产品代码
  2. 有效日期
  3. 单价

这是我的工作......请帮助我改进我的答案。

SELECT p.prodCode, p.description, p.unit, MAX(ph.unitPrice)  "Current Price" 
FROM product p 
INNER JOIN priceHist AS ph 
ON p.prodCode = ph.prodCode
GROUP BY p.prodCode, p.description, p.unit
ORDER BY MAX(ph.unitPrice); 

有人说我需要两次使用 PRICEHIST

标签: sqljoingroup-bydb2sql-order-by

解决方案


尝试这个:

SELECT a.prodCode, a.description, a.unit, SUM(b.unitPrice)
FROM ProductTable a
LEFT JOIN PriceHistTable b ON a.prodCode = b.prodCode
GROUP BY a.prodCode, a.description, a.unit, b.unitPrice

推荐阅读