Sql server SQL Server:如何增加datetime并使用该值获取一列以检索下一个值?
对TSQL来说有点陌生,希望有人能帮上忙。我有一个巨大的表,大约有1000列和1700行。每列都是一个日期,只有一列只是一个名称。表中的每个值(名称列除外)都是一个数字。我想做的是:Sql server SQL Server:如何增加datetime并使用该值获取一列以检索下一个值?,sql-server,date,datetime,Sql Server,Date,Datetime,对TSQL来说有点陌生,希望有人能帮上忙。我有一个巨大的表,大约有1000列和1700行。每列都是一个日期,只有一列只是一个名称。表中的每个值(名称列除外)都是一个数字。我想做的是: 从给定行日期的最低光谱开始(已知最低日期为2011年1月25日),并将其存储为第一个值 将日期增加1,并找到上面相同给定行的对应列。这将成为第二个值 将第一个值除以第二个值 将所有这些存储在一个新表中,其中行是名称,列是第一个值的日期,值是执行除法的结果 我意识到,要做到这一点,我需要使用动态SQL,但我的技能有点
谢谢你的时间 谢谢你的评论。我想我能得到的最接近公认答案是@JorgeCampos和@VIVEK。问题肯定是我的桌子大小。原来的表有超过1000000行,我想在我所问的透视表上工作可能会更容易。事实证明,处理原始数据集(虽然很慢)是最好的方法,因为新表太疯狂了,无法处理
很高兴有人帮助了在这个问题上迷失方向的人。再次感谢各位 为了更好地理解,您可以添加您的表结构吗?欢迎来到这里。你必须在你的问题中加入你尝试过的代码,并从中找出哪里出了问题。旁注:一张有1000列的桌子???这是一个非常非常非常糟糕的设计。也许您可以在此寻求帮助,了解如何改进此设计,并解释为什么在一个表中包含所有列。这不是问题答案的一部分,而是为了降低1000列表的复杂性,您可以为列维护另一个表,并将这些列ID的数据存储在另一个表中。您可以使用DATEADD()函数增加日期值,但是我完全不明白你要问的其他问题。如果你对一个有100万行的表有性能问题,为什么不发布查询并寻求帮助。我可能会这样做,但我仍然想在查询中找出一些错误。那我自己去试试。希望我不会回来,但我们会看到。。。