我的SQL Server 2008表的构造如下:160列(由Ratio_ID组成)和160个公司作为标头742行(由每家公司的Ratio_ID组成)。
典型的结构为:
Ratio_ID | 公司1 | 公司2 | 致公司160
part03x0 | 0.01 | 0.03 | 至Ratio_ID742 |
如何运行查询以请求Ratio_ID part03x0为零的所有公司?
曾尝试向Google进行此操作,但很难解释。
希望有道理!
为什么将公司存储为列?公司应放置在自己的表中,并具有引用每个公司的唯一ID。然后,您可以将此ID与Ratio_ID一起使用以执行查询。
160列是一个巨大的过大杀伤力。这是有关如何规范化数据库的不错的教程。
编辑:
您不必为每个公司都有一张桌子。您只需要一个名为tbl_Company的表,并添加以下内容:
company_id | company_name
1 | CompanyNameOne
2 | CompanyNameTwo
3 | CompanyNameThree
比率的另一张表,tbl_Ratio
ratio_id | ratio_name
1 | RatioNameOne
2 | RatioNameTwo
然后将两个表之间的使用ForeignKeys
和合并Relationships
到一个单独的表中,如下所示:
tbl_Company_Ratio
company_id | ratio_id | ratio_amount
1 2 5
1 1 2
3 2 10
2 2 5
....
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句