2013-12-11 59 views
-1

我想选择一条记录并且除特定字段外。如何选择除特定字段以外的记录

SELECT * FROM tb_Account EXCEPT name="me" 

是否有这样的说法?

谢谢!提前。

+0

你能解释一下你正在尝试做什么吗?你想获得所有名称不同于'我'的行吗?或一列!='我'? –

+0

如果您试图提供省略敏感信息的结果,例如没有工资的员工,你可能需要一个VIEW。 – HABO

回答

0
SELECT * FROM tb_Account WHERE name <> 'me' 
0

有些事情,你可以做的是这样的:

SELECT 'SELECT ' + 
    STUFF ((
     SELECT ', [' + name + ']' 
     FROM syscolumns 
     WHERE id = OBJECT_ID('tb_Account') AND 
      name <> 'me' 
     FOR XML PATH('')), 1, 1, '') + 
    ' FROM [tb_Account]' 

这将产生一个SELECT声明。然后你可以这样执行:

DECLARE @sql VARCHAR(MAX) 

SELECT @sql = 'SELECT ' + 
    STUFF ((
     SELECT ', [' + name + ']' 
     FROM syscolumns 
     WHERE id = OBJECT_ID('tb_Account') AND 
      name <> 'me' 
     FOR XML PATH('')), 1, 1, '') + 
    ' FROM [tb_Account]' 

EXECUTE (@sql) 
相关问题