从多个表中查询数据的sql语句

2025-03-26 02:18:40
推荐回答(3个)
回答(1):

创建一个存储过程用来读取
create PROCEDURE TESTPERCUDURE
AS
DECLARE @col INTEGER
DECLARE @tablename varchar(100)
DECLARE @SQL AS VARCHAR(200)
BEGIN
SELECT TOP 0 QQNUM INTO dbo.qqnum FROM groupdata.dbo.group001 --创建一个表用来装你的数据
SET @col=1
SET @tablename='st'
WHILE @db_num<=100
begin
SET @SQL='select * FROM '+@tablename+@col+' GROUP'+' where sname = '李三'' --通过循环获取你的表名和数据库名,之后组装成SQL语句,然后执行.你试试. 我没数据库不好修改的
EXECUTE sp_executesql @SQL
SET @col=@col+1
SET @col=1
END
end

大概像上面的存储过程一样,这样要求表名是st1,st2,... ,st100

回答(2):

chen_hongyang的回答是合理的,其实这个问题还得看你的具体需求,还有数据库的设计是不是这样的,是数据库中表结构就这样设计的

回答(3):

union all
比如
select * from st01 where sname='李三'
union all
select * from st02 where sname='李三'
union all
....................