我的表中有一些类似于此的数据:
项目 日期 价格 2012 年 8 月 29 日 3 美元 B 2012 年 8 月 29 日 23 美元 C 2012 年 8 月 29 日 10 美元 2012 年 8 月 30 日 4 美元 B 2012 年 8 月 30 日 25 美元 C 2012 年 8 月 30 日 11 美元 2012 年 8 月 31 日 3 美元 B 2012 年 8 月 31 日 22 美元 C 2012 年 8 月 31 日 8 美元 2012 年 9 月 1 日 3 美元 B 2012 年 9 月 1 日 26 美元 C 2012 年 9 月 1 日 9 美元 2012 年 9 月 2 日 3 美元 B 2012 年 9 月 2 日 24 美元 C 2012 年 9 月 2 日 9 美元
我需要编写一个查询来标识 A 的价格自 2012 年 8 月 30 日以来没有改变,商品 C 的价格自 2012 年 9 月 1 日以来没有改变,并返回两者经过的天数(我们'正在寻找价格不变的商品)。由于此 sql 需要在其中运行的 Web 报告工具的限制,我不能使用 CTE、游标或单独创建的临时表(选择进入等)。我只能使用“基本”单通道选择查询(子查询将起作用)。有没有人对如何实现这一目标有任何狡猾的想法?
我的第一次尝试是按项目和价格分组,其中价格与最新价格相同having count > 2
,确定最小日期并在最小日期和 getdate 之间进行 datediff。然而,这只是识别该价格的第一个实例,它没有考虑任何可能具有不同价格的后续行。希望这是有道理的。