一个简单sql查询的诡异问题

wea1978 2010-09-15 09:15:56
sql 2000数据库

同样在查询分析器中查询数据结果

语句1(查询表返回数据)

select * from tablenames
order by names

语句2(查询视图返回数据)

select * from view_tablenames
order by names

视图语句
select * from tablenames
order by names

问题来了,,

语句1 和语句2 返回的结果竟然不一样!!!
并且数据都变乱了


这是什么原因造成的呢?

...全文
125 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wea1978 2010-09-23
  • 打赏
  • 举报
回复
感谢楼上各位,现在还没找到原因,但问题却解决了. 因为在关键字前面加了一个字段,造成这个现象,把那个字段后移,问题就不存在了...
原因呢?
还是没找到....
黑子白子 2010-09-23
  • 打赏
  • 举报
回复
SQL2005的视图建立时,会自动把'*'转换为所有字段名,也许就是因为2000有这个BUG。
楼主试试就用“select names from tablenames”建视图,是否会乱?
claro 2010-09-23
  • 打赏
  • 举报
回复
--try
use 数据库
go
exec sp_refreshview N'视图名'
wea1978 2010-09-23
  • 打赏
  • 举报
回复
数据库是一样的,同一个数据库,创建视图的语句是普通的语句. CREATE VIEW
hao1hao2hao3 2010-09-17
  • 打赏
  • 举报
回复
是不是选择的数据库不同?这样的情况应该是不会的吧!仔细检查看看!

创建视图的语句是怎么写的?
wea1978 2010-09-16
  • 打赏
  • 举报
回复
没有人遇到过这种问题吗?
wea1978 2010-09-15
  • 打赏
  • 举报
回复
呵呵,视图语句放 order by 是不能保存视图的

不好意思,刚才写得匆忙, 连order by 都带上了...
事实上语句1和语句2
都是
select * from tablenames

只不过一个是放在视图里, 但它们的结果却不一致.
csdyyr 2010-09-15
  • 打赏
  • 举报
回复
视图语句明显就不对。
「已注销」 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bancxc 的回复:]

试图里边能写 order by names????????????
[/Quote]

他是select出来 orderby的
bancxc 2010-09-15
  • 打赏
  • 举报
回复
试图里边能写 order by names????????????
wea1978 2010-09-15
  • 打赏
  • 举报
回复
视图语句
select * from tablenames
order by names


其实视图语句和 第1个语句是一样的
按理返回的结果肯定是一样,但事实却不一样. 不知道哪里出了问题
bancxc 2010-09-15
  • 打赏
  • 举报
回复
看view_tablenames内容


22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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