【发布时间】:2016-05-02 14:38:10
【问题描述】:
我今天在 TFS 数据库中寻找并尝试运行一些统计数据,结果发现了一个名为 tbl_Number 的表。此表包含一列Number,所有值都只是值 1 到 500,000。正如您在我在 LinqPad 中运行的查询的屏幕截图中看到的那样,所有值都与列表中它们各自的索引不同:
Tbl_Numbers.Max(x => x.Number).Dump(); //max value
Tbl_Numbers.Count().Dump(); //number of entries
var asList = Tbl_Numbers.ToList();
asList.Where(x => asList[x.Number - 1].Number != x.Number).Any().Dump();
//False shows that every entry matches the value at its ordinal location in the list
我的问题是:这样一张桌子有什么用?这是为了防止其中一个引用的数字由于某种原因需要更改吗?从这个表中识别一个数字的唯一方法是使用相同的数字,所以我看不出这个表有什么用。
我意识到这个问题可能会导致猜想的答案,但我很想看看这里是否使用了一些我不知道的编程原理。
【问题讨论】:
-
也许很有趣? stackoverflow.com/a/29969124/3184785。在“交叉连接”中用于生成“可以从列表中的整数位置计算的任何内容”列表。
-
@RyanVincent 啊,我现在知道这对编写 sql 语句有什么用处,感谢您的链接!
-
查看此问题及其链接、评论和答案...dba.stackexchange.com/questions/11506/…
-
这些被称为“Tally”表。它们允许您预先生成一些东西的系列,因此您可以生成新系列。即:您可以“从tallyTable 中选择dateadd(d, number-1, getdate()),其中number
标签: mysql sql-server database