SQL Server 2008修改的WHERE语句

赫尔曼

我的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章