MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3696|回复: 10
打印 上一主题 下一主题

MySQL查询问题

[复制链接]
跳转到指定楼层
1#
发表于 2013-1-6 17:03:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
各位大虾:
   小弟最近将社区版的库通过sqldump备成脚本,然后再到企业版中导入。查询结果乱码不说(数据库字符集两库一致),里面创建的视图居然不能用,把视图里面的查询语句拷贝单独执行又能查询出结果,将查询语句另起一个新视图名创建后查询又能出结果。我就糊涂了。
   求各位指点方向。

就这视图,用视图名称查结果为空,用下面的语句查结果正常。将下面的查询语句起一新视图名创建,又能查出结果。
create view v_jh_ringing_ycIndex
as
select '下载同歌三次以上' as 'ycIndexName',left(lie6*100,INSTR(lie6*100,'.')+2) as 'ycValue' from jh_ringing where city = convert('全省' using gbk)
union
select '下载无流量' as 'ycIndexName',left(lie10*100,INSTR(lie10*100,'.')+2) as 'ycValue' from jh_ringing where city = convert('全省' using gbk)
union
select '无效用户' as 'ycIndexName',left(lie14*100,INSTR(lie14*100,'.')+2) as 'ycValue' from jh_ringing where city = convert('全省' using gbk)
union
select '下载同CP歌曲+振铃15次以上' as 'ycIndexName',left(lie18*100,INSTR(lie18*100,'.')+2) as 'ycValue' from jh_ringing where city = convert('全省' using gbk);

这个视图使用上面的视图
................
UNION
select
'振铃' as 'busName',
lie22 as 'bili',
(select CONCAT(ycindexName,concat('--',ycValue,'%')) from v_jh_ringing_ycIndex order by ycValue desc limit 1) as 'ycIndex',
(select GROUP_CONCAT(city) as 'city' from v_jh_ringing_city where qujian = 1 group by qujian) as 'Exceed10',
(select GROUP_CONCAT(city) as 'city' from v_jh_ringing_city where qujian = 2 group by qujian) as 'Between10and8',
(select GROUP_CONCAT(city) as 'city' from v_jh_ringing_city where qujian = 3 group by qujian) as 'NotExcessive'
from
jh_ringing
where
city=convert('全省' using gbk);

字符集情况
character_set_client   gbk
                   _connection  gbk
                   _database gbk
                   _filesystem  binary
                   _results  gbk
                   _server  utf8
                   _system utf8





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
2#
 楼主| 发表于 2013-1-6 17:11:41 | 只看该作者
先谢谢各位先,再帮我看一下脚本有没有可以优化的地方。劳驾。
3#
发表于 2013-1-7 10:18:21 | 只看该作者
你dump出来的视图应该已经不是原来的SQL了。

MySQL不会保持原始视图的SQL。
可以通过load_file()函数打开视图.frm文件查看。如下:
4#
发表于 2013-1-7 10:20:36 | 只看该作者
另外应该不区分社区版企业版的吧,你都是什么版本?
乱码问题,你可以在导出导入时强制加上字符集设置参数试试...
5#
 楼主| 发表于 2013-1-7 11:11:43 | 只看该作者
kider 发表于 2013-1-7 10:20
另外应该不区分社区版企业版的吧,你都是什么版本?
乱码问题,你可以在导出导入时强制加上字符集设置参数 ...

  乱码:W2003Ent R2,X64,Mysql_5.5.28.3_Enterprise.我是直接用Windows自带的文本编辑器打开mysqldump导出脚本,拷贝至CMD中执行的。我用程序导入库的数据就没乱码了。可能是文件编辑器的编码和mysql存在矛盾。我会按照你的建议测试一下。
  非常感谢,kider.

6#
 楼主| 发表于 2013-1-7 11:15:34 | 只看该作者
kider 发表于 2013-1-7 10:18
你dump出来的视图应该已经不是原来的SQL了。

MySQL不会保持原始视图的SQL。

这个函数和show create table有什么区别?求教。
7#
 楼主| 发表于 2013-1-7 14:31:11 | 只看该作者
kider 发表于 2013-1-7 10:18
你dump出来的视图应该已经不是原来的SQL了。

MySQL不会保持原始视图的SQL。

咋是NULL 那?
8#
 楼主| 发表于 2013-1-7 15:23:55 | 只看该作者
kider 发表于 2013-1-7 10:18
你dump出来的视图应该已经不是原来的SQL了。

MySQL不会保持原始视图的SQL。

直接打开frm(备份文件)文件,将里面的代码复制出来也能查询出来结果。我看还是将脚本一个一个的执行算了。
9#
 楼主| 发表于 2013-1-7 15:53:37 | 只看该作者
本帖最后由 末猪 于 2013-1-7 16:26 编辑

谢谢各位,问题解决了。将库、表、视图(非sqldump导出脚本)挨个重新执行一遍又正常了。不能图快呀。但第一次和第二次插入数据的顺序不一样。第一次是将库、表、视图建好后插入;第二次是建表好后就插入的数据。这是否有影响。求教。

点评

多尝试的精神赞一个。 不考虑连带因素的话,应该是第二次的好。但具体是否真正的好,没有好好对比过^_^...  发表于 2013-1-8 09:41
10#
发表于 2016-1-22 17:27:32 | 只看该作者
治疗癫痫病的偏方 http://haoyy.yuqinge.com/zlpf/
治疗癫痫病的偏方 http://health.lzbs.com.cn/dianxian/pf/
治疗癫痫病的偏方 http://jkbk.thmz.com/pfzl/9821340258.html
癫痫小发作的症状 http://haoyy.yuqinge.com/dxxfz/
癫痫小发作的症状 http://health.lzbs.com.cn/dianxian/xfz/10812941052.html
癫痫是怎么引起的 http://haoyy.yuqinge.com/
癫痫是怎么引起的 http://jiankang.newsyc.com/bingyin/
癫痫是怎么引起的 http://jkbk.thmz.com/dxbby/
癫痫能彻底治愈吗 http://jiankang.zkxww.com/zym/
癫痫能彻底治愈吗 http://jkbk.thmz.com/dxzy/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-1 08:09 , Processed in 0.079916 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表