现在有一个数据库,数据库中有若干表,每个表中有一个字段,假定为tb_column,现在我想查询出这个数据库中所有表中该字段tb_column=特定数据的所有信息,如何来写这个SQL语句。
例如现在我查找出表一中的语句是这样的:
select  *
from 表一
where tb_column='特定值'
这只是其中一个表中的,我想要得到这个数据库所有表的结果。

解决方案 »

  1.   

    EXEC SP_MSFOREACHTABLE 'select * from ?  where tb_column=''S'''
      

  2.   

    select 'select * from '+name+' where col=''XXXX''' from sysobjects where xtype='u'
    对查询的结果再运行一下
      

  3.   

    --sp_msforeachtable
    --实例:
    CREATE TABLE t1(id INT,VALUE int)
    CREATE TABLE t2(id INT ,name VARCHAR(10),age int)
    GO
    INSERT t1 SELECT 1,2 UNION ALL SELECT 2,3 ;
    INSERT t2 SELECT 1,'s',2 UNION ALL SELECT 1,'b',1 UNION ALL SELECT 3,'ss',3
    GO
    EXEC sp_MSforeachtable 'select * from  ? where id=1'