Sql 如何获取列名

Sql 如何获取列名,sql,sql-server,sql-server-2000,Sql,Sql Server,Sql Server 2000,使用SQLServer2000 我想得到列名和列计数,其中位为0 表1 列名称状态(位) 我在表1中有50多行,我想得到columnname和count,其中位为0 预期产量 apple graph ... ... Count - 22 (total column count where bit is 0) 如何查询上述条件 需要查询帮助解决方案 输出 解决 输出 除非还有更多的内容,否则这只是一个简单的select查询,任何第一天学习数据库的学生都会知道如何做…您是在使用一个两列表,

使用SQLServer2000

我想得到列名和列计数,其中位为0

表1

列名称状态(位)

我在表1中有50多行,我想得到columnname和count,其中位为0

预期产量

apple  
graph 
...
...

Count - 22 (total column count where bit is 0)
如何查询上述条件

需要查询帮助

解决方案 输出 解决 输出
除非还有更多的内容,否则这只是一个简单的
select
查询,任何第一天学习数据库的学生都会知道如何做…您是在使用一个两列表,在其中执行简单的select,还是希望从select语句中获取模式?除非还有更多内容,这只是一个简单的
select
查询,任何第一天学习数据库的学生都会知道如何做……您是在使用一个两列的表来执行简单的select,还是希望从select语句中获取模式?
apple  
graph 
...
...

Count - 22 (total column count where bit is 0)
DECLARE @MyTable TABLE (
    ColumnName VARCHAR(50) NOT NULL,
    Status BIT NOT NULL
);

INSERT  @MyTable (ColumnName, Status)
SELECT 'apple', 0
UNION ALL SELECT 'orange', 1
UNION ALL SELECT 'graph', 0
UNION ALL SELECT 'pine', 1;

Print 'Solution 0 ... (no grouping, 2 resultsets)'
SELECT  t.ColumnName
FROM    @MyTable t
WHERE   t.Status=0
SELECT  @@ROWCOUNT AS cnt

Print 'Solution 1 ... (group by ColumnName, 2 resultsets)'
SELECT  t.ColumnName
FROM    @MyTable t
WHERE   t.Status=0
ORDER BY t.ColumnName
COMPUTE COUNT(t.ColumnName)

Print 'Solution 2 ... (1 resultset, 2 columns)'
SELECT  t.ColumnName, COUNT(*)
FROM    @MyTable t
WHERE   t.Status=0
GROUP BY t.ColumnName WITH ROLLUP

Print 'Solution 3 ... (1 resultset, 1 column, last row contains the cnt value)'
SELECT  CASE WHEN x.IsGrouping=0 THEN x.ColumnName ELSE CONVERT(VARCHAR(11),x.Cnt) END AS CocoJambo
FROM (
    SELECT  t.ColumnName, 
            COUNT(*) AS Cnt,
            GROUPING(t.ColumnName) AS IsGrouping
    FROM    @MyTable t
    WHERE   t.Status=0
    GROUP BY t.ColumnName WITH ROLLUP
) x
ORDER BY x.IsGrouping
Solution 0 ... (no grouping, 2 resultsets)
ColumnName
----------
apple
graph

cnt
---
2

Solution 1 ... (group by ColumnName, 2 resultsets)
ColumnName
----------
apple
graph

cnt
---
2

Solution 2 ... (1 resultset, 2 columns)
ColumnName 
---------- -
apple      1
graph      1
NULL       2

Solution 3 ... (1 resultset, 1 column, last row contains the cnt value)
CocoJambo
---------
apple
graph
2