[英]Query help - joining two tables with subset based on column values
可以说我有两个这样的表:
People
Id Name FirstDate LastDate
-- -------- --------- --------
A1 Bob 1/1/2007 5/6/2007
A2 Joe 1/4/2008 9/1/2008
.. .. ... ...
PiesBaked
Name Date Value
-------- ---- -----
Bob 1/1/2007 7
Bob 1/2/2007 9
.. ... ...
Joe ... ...
如何构建一个将 PiesBaked 子集为名称的第一个/最后一个日期的视图
Result
Id Name Date Value
-- ---- ---- -----
A1 Bob 1/1/2007 7
A1 Bob 1/2/2007 9
.. .. ... ...
A1 Bob 5/6/2007 ...
.. ... ... ...
尝试这个:
SELECT a.Id, a.Name, b.Date, b.Value
FROM People a INNER JOIN PiesBaked b
ON a.Name = b.Name
AND b.Date BETWEEN a.FirstDate AND a.LastDate
select p.id, p.name, pb.Date, pb.value
from people p
inner join piesBaked pb
on pb.name = p.name
and pb.date between p.firstDate and p.lastDate
order by p.id, pb.Date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.