【发布时间】:2021-03-03 01:17:08
【问题描述】:
我有 2 个表格(“产品”和“价格”)
这些是表格:
-------------
| Products |
-------------
| ProdID |
| ProdName |
-------------
-------------
| Prices |
-------------
| ID |
| EnDate |
|ProdID |
|Price |
-------------
我想要的是选择 Products Table 中所有具有最新价格的 Products Table 中的 1 个条件:
- 如果在价格表中找不到 prodID,则用 0 填充。
我只知道如何从价格表中选择最新价格,但我不知道如何选择所有产品,即使尚未在价格表中找到
这是我到目前为止所做的:
SELECT a.*
FROM Prices a
INNER JOIN
(
SELECT ProdID, MAX(EnDate) max_date
FROM Prices
GROUP BY ProdID
) b ON a.ProdID = b.ProdID AND
a.EnDate = b.max_date
感谢您的帮助。
【问题讨论】:
标签: sql sql-server tsql