ima*_*man 5 sql sql-server join left-join sql-query-store
我在 sql server 中有两个表,我想从这些表中选择并加入一些数据。第一个表有一些客户,例如:
---------------
customer id
Dave 1
Tom 2
---------------
Run Code Online (Sandbox Code Playgroud)
和第二个表 i 购买表,其中包括最后一次购买的清单和成本以及哪个客户购买了该产品:
------------------
product date customer id
PC 1-1-2000 1
phone 2-3-2000 2
laptop 3-1-2000 1
------------------
Run Code Online (Sandbox Code Playgroud)
我想选择最后购买日期的第一张桌子(客户信息)!我尝试过左连接,但这并没有给我最后一次购买,因为客户 ID 在第二个表中不是唯一的!我如何使用 SQL 服务器查询来执行此功能?问候
使用该not exists条款即可获胜!
select c.customer, p.*
from Customer as c
inner join Purchase as p
on p.customer_id = c.id
where not exists (
select 1
from Purchase as p2
where p2.customer_id = p.customer_id
and p2.date > p.date
)
Run Code Online (Sandbox Code Playgroud)