使用SQL我有一系列表名:
SELECT TNAME FROM SYS.COL WHERE CNAME='COLUMN_XPTO' AND TNAME LIKE '%SOMETHING%';
返回一个包含一列的表,其中包含所需值或列的表名。
我现在想在这些表之间进行迭代寻找:
SELECT * FROM x WHERE COLUMN_XPTO='someValue';
其中x是前一个选择的表。我怎么能这样做?
答案 0 :(得分: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