首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 晓得数据库名字 某一字段名(列名 。主键)以及字段名的值 查表名

2013-09-12 
SQL 知道数据库名字某一字段名(列名 。。主键)以及字段名的值查表名比如:数据库名字 DB;有A,B,C,D,E,F等表,

SQL 知道数据库名字 某一字段名(列名 。。主键)以及字段名的值 查表名
比如:
数据库名字 DB;
有A,B,C,D,E,F等表,其中均包含列 COU;
现在已知 COU=000001;
求所在的表的名字
SQL?2005??MFC? SQL2005,MFC
[解决办法]


DECLARE @sql VARCHAR(MAX)
SET @sql=''
;
WITH a1 AS 
(
SELECT b.name
FROM syscolumns a
INNER JOIN sysobjects b ON a.id=b.id
where UPPER(a.name)='COU' AND b.xtype='U'
)
SELECT @sql=@sql+CASE WHEN @sql='' THEN '' ELSE ' union all ' END + 'select top 1 '''+
+name+''' name from '+name+' where COU=''000001'''
FROM a1

EXEC(@sql)

[解决办法]

--簡化一下:
DECLARE @sql VARCHAR(MAX)
SET @sql=''
;
SELECT @sql=@sql+CASE WHEN @sql='' THEN '' ELSE ' union all ' END + 'select top 1 '''+
+b.name+''' name from '+b.name+' where COU=''000001'''
FROM syscolumns a
INNER JOIN sysobjects b ON a.id=b.id
where UPPER(a.name)='COU' AND b.xtype='U'

EXEC(@sql)

热点排行