首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server选择查询

SQL Server选择查询
EN

Stack Overflow用户
提问于 2011-07-27 03:18:52
回答 3查看 216关注 0票数 1

我必须编写一个查询来获得以下数据作为结果。我的数据库中有四列。ID不为null,所有其他ID的值都可以为null。

代码语言:javascript
运行
复制
 EMP_ID    EMP_FIRST_NAME    EMP_LAST_NAME    EMP_PHONE

 1         John              Williams         +123456789 
 2         Rodney                             +124568937
 3                           Jackson          +124578963 
 4         Joyce             Nancy            

现在,我必须编写一个查询来返回非null的列。我不想在查询中指定列名。

我的意思是,我想使用SELECT * FROM TABLE WHERE -并添加过滤器,但我不想在WHERE子句后指定列名。

这个问题可能很愚蠢,但请在必要的地方纠正我。我是sql新手,正在处理一个使用c#和SQL的项目。

为什么我不想使用列名,因为我有超过250列和1500行。现在,如果我选择任何行,至少有一列将具有空值。我想选择该行,但该特定行的值为null的列不应出现在结果中。

敬请指教。提前谢谢你。

致以问候,Vinay S

EN

Stack Overflow用户

发布于 2011-07-27 03:28:53

从SQL查询返回的每一行都必须包含与集合中其他行完全相同的列。除非集合中的所有结果都具有相同的空列,并且您在select子句(而不是where子句)中指定了空列,否则无法只选择那些不返回null的列。

对于Anders Abels对你的问题的评论,你可以通过将你的数据分成服务于公共目的的表来避免大量的查询复杂性(称为规范化)。

例如,您可以将姓名放入一个表(Employee_ID、First_Name、Last_Name、Middle_Name、Title),将地点放入另一个表(Address_ID、Address_Name、街道、城市、州),将关系放入另一个表,然后将它们链接在一起的2-4列表。以这种方式组织您的数据可以避免重复个别事实,例如,“谁是John Williams的主管,我如何联系此人。”

票数 5
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6835321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档