2014-10-02 89 views
0

使用SQL我有一系列的表名:尋找所有表中的值在SQL

SELECT TNAME FROM SYS.COL WHERE CNAME='COLUMN_XPTO' AND TNAME LIKE '%SOMETHING%'; 

返回表與包含必需值的表名或列一列。

我現在想那些尋找表之間進行迭代:

SELECT * FROM x WHERE COLUMN_XPTO='someValue'; 

其中x是從以前選擇一個表。我怎樣才能做到這一點?

+1

看執行立即聲明。 – OldProgrammer 2014-10-02 13:49:25

回答

1
declare @tablename varchar(200) 
declare c1 cursor for select table_Name from information_schema.columns where column_name = 'myColumn' 
open c1 
while 0=0 
begin 
    fetch next from c1 into @tablename 
    if @@FETCH_STATUS = 0 
    begin 
     exec('select * from ' + @tablename + ' where myColumn= ''myValue''') 
    end 
    else 
     break 
end 
close c1 
deallocate c1 
相關問題