如何选择值列

时间:2011-11-26 11:54:24

标签: sql sql-server tsql sql-server-2000

使用SQL Server 2000

ID Column1 column2

001 050 100
002 000 200
003 100 000
004 010 000
005 000 000

我想只显示column1和column2中的值。

尝试查询

Select id, Column1, Column2 where column1 <> '000' and column2 <> '000' 
-- Nothing data's displayed

Select id, Column1, Column2 where column1 <> '000' or column2 <> '000' 
-- data's are displayed below

ID column1 

    001 050 
    003 100 
    004 010

预期产出

ID column1 column2

001 050 100
002     200
003 100 
004 010 

如何查询上述条件,需要查询帮助

1 个答案:

答案 0 :(得分:4)

如果我理解正确,您希望选择Column1或Column2的值与000不同的所有行,并且结果行将000更改为空字符串。

SELECT 
   ID, 
   CASE WHEN Column1 = '000' THEN '' ELSE Column1 END, 
   CASE WHEN Column2 = '000' THEN '' ELSE Column2 END
FROM Table
WHERE (Column1 != '000' AND Column2 != '000')