+ -
当前位置:首页 → 问答吧 → 一个简单的存储过程

一个简单的存储过程

时间:2011-09-28

来源:互联网

我要实现从6个不同的表中,取出每个表中最新的一条数据。以下用union all联合查询出来的结果时报:union出错、

CREATE PROCEDURE zuixin
AS
BEGIN
select top 1 标题,本章更新时间 from 医学动态表 order by 本章更新时间 desc
union all
select top 1 标题,发布时间 from 热点医讯表 order by 发布时间 desc
union all
select top 1 指南名称,本站更新时间 from 临床指南表 order by 本站更新时间 desc
union all
select top 1图书名称,本站更新时间 from 医学书库表 order by 本站更新时间 desc
union all
select top 1 杂志名称,文章发表时间 from 医学杂志表 order by 文章发表时间 desc
union all
select top 1 病例名称,本站更新时间 from 疑难病例表 order by 本站更新时间 desc
END
GO

作者: zhoulirong14   发布时间: 2011-09-28

这是sql server的语法吧 这里是oracle板块!

作者: hanzs   发布时间: 2011-09-28

SQL code
select top 1 标题,本章更新时间 from 医学动态表 order by 本章更新时间 desc
union all
select top 1 标题,发布时间 from 热点医讯表 order by 发布时间 desc
union all
select top 1 指南名称,本站更新时间 from 临床指南表 order by 本站更新时间 desc
union all
select top 1图书名称,本站更新时间 from 医学书库表 order by 本站更新时间 desc
union all
select top 1 杂志名称,文章发表时间 from 医学杂志表 order by 文章发表时间 desc
union all
select top 1 病例名称,本站更新时间 from 疑难病例表 order by 本站更新时间 desc

---主要原因要对一下,字段名的数据类型对不对

作者: cosio   发布时间: 2011-09-28

SQL code
--还有union all,order by 只能是放在最后!

作者: cosio   发布时间: 2011-09-28

引用 1 楼 hanzs 的回复:
这是sql server的语法吧 这里是oracle板块!


sql语句不是都差不多,我也知道这是oracle板块呀、

作者: zhoulirong14   发布时间: 2011-09-28

引用 1 楼 hanzs 的回复:
这是sql server的语法吧 这里是oracle板块!


懂oracle的,sql server不懂说得过去吗?

作者: zhoulirong14   发布时间: 2011-09-28

引用 2 楼 cosio 的回复:
SQL code

select top 1 标题,本章更新时间 from 医学动态表 order by 本章更新时间 desc
union all
select top 1 标题,发布时间 from 热点医讯表 order by 发布时间 desc
union all
select top 1 指南名称,本站更新时间 from 临床指南表 order by 本站更新时间 desc
……


数据类型都没问题啊,把union all去掉就可以执行了,不过不能联合查询出来呢,请问怎么该呢?

作者: zhoulirong14   发布时间: 2011-09-28