SQL如何把查询出来的多个表创建成一个表

CCCZEDH 2019-04-14 01:58:44

declare @n int
set @n=1
while @n <= 5
begin
select cname,semester,credit
from course
where cno in(select top 1 cno from course where semester = @n group by cno,credit order by credit asc)
set @n=@n+1
end



...全文
1349 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2019-05-15
  • 打赏
  • 举报
回复
eh...
这个不是这么做的阿。
吉普赛的歌 版主 2019-05-15
  • 打赏
  • 举报
回复
引用 2 楼 CCCZEDH 的回复:
[quote=引用 1 楼 吉普赛的歌的回复:]
--定义接收表变量
--字段类型你自己根据实际的来定义
DECLARE @t TABLE (
cname NVARCHAR(20),
semester NVARCHAR(20),
credit NVARCHAR(20)
)
--循环插入
declare @n int
set @n=1
while @n <= 5
BEGIN
INSERT INTO @t(cname,semester,credit)
select cname,semester,credit
from course
where cno in(select top 1 cno from course where semester = @n group by cno,credit order by credit asc)
set @n=@n+1
END
--查询表变量
SELECT * FROM @t

感谢,已解决,,,,,,,[/quote]
不客气,没事就结贴吧
CCCZEDH 2019-05-14
  • 打赏
  • 举报
回复
引用 1 楼 吉普赛的歌的回复:
--定义接收表变量
--字段类型你自己根据实际的来定义
DECLARE @t TABLE (
	cname NVARCHAR(20),
	semester NVARCHAR(20),
	credit NVARCHAR(20)	
)
--循环插入
declare @n int
set @n=1
while @n <= 5
BEGIN
    INSERT INTO @t(cname,semester,credit)
    select cname,semester,credit
    from course
    where cno in(select top 1 cno from course where semester = @n group by cno,credit order by credit asc)
    set @n=@n+1
END
--查询表变量
SELECT * FROM @t
感谢,已解决,,,,,,,
qq_37693160 2019-05-14
  • 打赏
  • 举报
回复
学习了,学习了
吉普赛的歌 版主 2019-04-14
  • 打赏
  • 举报
回复
--定义接收表变量
--字段类型你自己根据实际的来定义
DECLARE @t TABLE (
	cname NVARCHAR(20),
	semester NVARCHAR(20),
	credit NVARCHAR(20)	
)
--循环插入
declare @n int
set @n=1
while @n <= 5
BEGIN
    INSERT INTO @t(cname,semester,credit)
    select cname,semester,credit
    from course
    where cno in(select top 1 cno from course where semester = @n group by cno,credit order by credit asc)
    set @n=@n+1
END
--查询表变量
SELECT * FROM @t

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧