2013-03-18 83 views
-1

提起的名字,我有我的数据库中的表主与现场选择SQL表

Column Name  Data Type 
    ===========  ============= 

    Empno   varchar(10) 
    Surname  varchar(10) 
    ShiftDiffInd varchar (1) 
    PrevEmpGrossy money 
    NonTaxYtodate money 

,我想从这个表中只有这两个领域'ShiftDiffInd' 'NonTaxYtodate'采取字段名。没有这个字段的值,那么,如何能做到这一点

我希望我的回归就像这

============== 
ShiftDiffInd 
NonTaxYtodate 

回答

1
select column_name from INFORMATION_SCHEMA.COLUMNS 
where 1=1 
    and TABLE_NAME = 'Master' 
    and COLUMN_NAME in ('ShiftDiffInd','NonTaxYtodate') 
+0

谢谢这我想这些人可能不明白 – 2013-03-18 11:32:06

2
select 
    syscolumns.name as [Column] 
from 
    sysobjects, syscolumns 
where sysobjects.id = syscolumns.id 
and sysobjects.name = 'Master' 
and (syscolumns.name = 'ShiftDiffInd' or syscolumns.name = 'NonTaxYtodate') 
order by syscolumns.name 
+0

我想显示ShiftDiffInd,NonTaxYtodate th ese只有两个字段名称不是该字段的值 – 2013-03-18 11:21:34

+0

字段名称表示什么,结果应该是什么样子? – 2013-03-18 11:24:47

+0

我改变了问题的最后一行,我想要的结果 – 2013-03-18 11:26:52

1
SELECT 'ShiftDiffInd' as ShiftDiffInd, 'NonTaxYtodate' as NonTaxYtodate , * FROM Master 
+0

这将返回值与字段名称形式表,我不想 – 2013-03-18 11:25:31

1

我以前误解你的问题,请尝试使用下面的查询你,得到预期的结果:

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME=OBJECT_NAME(OBJECT_ID('Master')) 
AND COLUMN_NAME IN ('ShiftDiffInd','NonTaxYtodate')