【发布时间】:2019-04-05 11:21:28
【问题描述】:
我正在尝试根据下表返回一个结果集,其中包括每辆车的品牌、型号、描述和年份。我不明白的部分是在给定座位的开始和结束年份之间每年返回一行。
例如,如果座位运行 2002-2008,我想返回 2002、2003、2004 的行...
制作: MakeId, MakeName
型号: ModelId、MakeId、ModelName
座位: SeatId、ModelId、StartYear、EndYear、描述
当前单行查询如下:
SELECT Make.MakeName, Model.ModelName, Seats.StartYear, Seats.EndYear, Seats.Description
FROM Make
INNER JOIN Model ON Make.MakeId = Model.MakeId
INNER JOIN Seats ON Seats.ModelId = Model.ModelId
提前致谢!
【问题讨论】:
-
如果您有一张包含所有年份的表格,例如numbers table 或 tally table,您可以
join它与其他表格一起获得合适的行集合。搜索[tsql] tally table应该是有效的。 -
谢谢哈宝。虽然计数表最终并不是我所需要的,但它让我走上了只为每个 ModelId 填充一个带有连续年份的临时表的路径
标签: sql-server tsql