我正在使用SQL Server 2005.我现在有一个特殊的需求。
我有一个数据库,而它又有几个表(> 50)。所有这些表都有具有条件的类似命名列。我想在数据库中的所有表中查询此列。
我没有在谷歌搜索中找到合适的解决方案。请帮帮我。
非常感谢提前:)
答案 0 :(得分:0)
也许这可以帮到你?
SELECT * FROM information_schema.tables
之后,您可以遍历所有表并查询列。
答案 1 :(得分:0)
使用Kevin的建议你做这样的事情,然后执行它的输出。
DECLARE @ColumnName AS VARCHAR(20)
SET @ColumnName = 'MyColumn'
SELECT 'SELECT ' + @ColumnName + ' FROM ' + TABLE_NAME FROM information_schema.tables
答案 2 :(得分:0)
sp_msforeachtable @command1=N'SELECT ''?'', * from ? WHERE yourcol=''whatever'''
上面将对所选数据库中的每个表运行查询,并打印tablename +表中的每一列以满足条件。如果它到达具有无效列的表,它将继续(但打印错误消息)。