SQL多表联合查询并排序,用视图,提示出现错误

我有一些数据在分别存在月份表里,现在我要把这些数据联合起来,并且建立一个视图,然后对视图进行一些必须的操作,如:查询,排序,统计等.下面是我建立视图的SQL语句.crea... 我有一些数据在分别存在月份表里,现在我要把这些数据联合起来,并且建立一个视图,然后对视图进行一些必须的操作,如:查询,排序,统计等.

下面是我建立视图的SQL语句.
create view VIEW_All
as
select * from info200712
union all
select * from Info200711
union all
select * from Info200710
union all
select * from Info200709
union all
select * from Info200708
union all
select * from Info200707

这里是把7月份到12月份的数据联合起来了,

但是现在我要按时间排序时,就出再问题了.

select top 30 * from VIEW_All where no='4066' order by get_time desc,id desc (get_time为时间类型,id在分表是自动编号)

执行就出现错误:
在工作表中只允许有 text 指针,而决不允许有 text、ntext 或 image 列。查询处理器生成的查询计划要求在工作表中有 text、ntext 或 image 列。
在百度里搜了很久,也只是光见问题,不见有正确答案
我表里的数据类型基本上是 varchar bit int datetime这几个类型

上面的是我自己写的.对SQL的视图不太了解,有没有其它的方法可以实现上面的功能.谢谢了!
查询出来的记录,我要显示全部字段的内容.

如果我用这样的语句,就可以执行,不会出现问题

select top 30 id,get_time from VIEW_All where no='8066' order by get_time desc,id desc

但是我加进varchar类型的列名就会出现那个错误. 如:

select top 30 id,get_time,msg from VIEW_All where no='8066' order by get_time desc,id desc

多加了个msg varchar类型的.报错..
搞晕了.
展开
 我来答
4614555
2007-12-12 · TA获得超过575个赞
知道答主
回答量:309
采纳率:0%
帮助的人:261万
展开全部
嗯,看样子是数据类型的问题。你可以在视图中强制转换数据类型。SQL在UNION时隐式转换数据类型可能有问题。把msg varchar转一下看看。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式