【发布时间】:2012-03-07 19:38:57
【问题描述】:
这个可能比我做的要简单得多。我必须查询具有这样基本布局的表
(productNumber varchar, firstYearAvailable int, lastYearAvailable int, ...)
例如
(12345, 2004, 2006, ...),
(22293b, 2009, 2011, ...),
(a7564n, 2007, 2010, ...),
etc.
通过一系列复杂的连接在函数中查询此表以及其他表。截至目前,查询是这样的
SELECT field1, field2, productNumber, firstYearAvailable, lastYearAvailable, ...
FROM ...
JOIN ...
WHERE ...
etc.
而不是返回每个产品的年份范围(第一年 - 去年),对我来说返回每个产品的每个年份的条目会更有用(firstYear、firstYear + 1、...、lastYear) .例如,假设产品编号是 12345,该产品的范围是 2004-2006,那么查询应该返回该产品和这两列。
(12345,2004),
(12345,2005),
(12345,2006)
还有一个细节让这个查询变得特别困难,查询搜索多个零件号,每个零件号可能有不同的年份范围。
有人对如何解决这个问题有任何提示吗?我玩弄了循环和连接,并通过条件动态生成 SQL 语句,但这些都没有效果。
希望我已经提供了足够的信息,但如果我还没有,请询问。
谢谢
【问题讨论】:
-
加入日历 - 表格?
标签: postgresql date range