从其他表检查列验证

时间:2012-09-10 10:54:44

标签: sql sql-server sql-server-2008

我必须以这样的方式编写SQL查询:where列名应该来自我提到列列表的其他表:

前:

SELECT * FROM myTable WHERE <Column Name> = NULL

现在这些列名来自另一个表:

Column Name
 Product Name
 Customer Name

如何一次使用所有这些列来检查它们是否为NULL。

具有列名称的另一个表是动态的,具有动态我的意思是可以添加新列。

1 个答案:

答案 0 :(得分:0)

如果表动态添加了列,那么您可能必须编写一个过程来查找新列..

您可以从系统表

中找到表的列名
select name 
from sys.columns 
where object_id=object_id('your_table')

最后你可以像这样加入表格

SELECT * 
FROM myTable m
JOIN otherTable o ON m.id = o.id
WHERE o.<Column Name> = NULL