我在 sql server 中有两个表,我想从这些表中选择并加入一些数据。第一个表有一些客户,例如:
---------------
customer id
Dave 1
Tom 2
---------------
和第二个表 i 购买表,其中包括最后一次购买的 list 和成本以及哪个客户购买了该产品:
------------------
product date customer id
PC 1-1-2000 1
phone 2-3-2000 2
laptop 3-1-2000 1
------------------
我想选择最后购买日期的第一张 table (客户信息)!
我尝试过左连接,但这并没有给我最后一次购买,因为客户 ID 在第二个表中不是唯一的!我如何使用 SQL 服务器查询来执行此功能?问候
最佳答案
如果您只想要最大日期,请使用聚合。我会推荐一个 left join
对于没有购买过的客户:
select c.customer, c.id, max(p.date)
from customers c left join
purchases p
on c.id = p.customer_id
group by c.customer, c.id;
关于sql - 在右表的非唯一列上左连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38415956/