推扬网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
推扬网 门户 你问我答 查看内容

武安福:SQL语句“SELECT TOP 10”的问题

2020-8-10 20:20| 发布者: admin| 查看: 96| 评论: 0

摘要: 寿兰的回答: 把top 10去掉 IF IsInteger(cate_ID) = False Then SQL="SELECT L.log_ID,L.log_Title,l.log_Author,L.log_PostTime,L.log_Content,L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Categor ...

寿兰的回答:

把top 10去掉 IF IsInteger(cate_ID) = False Then SQL="SELECT L.log_ID,L.log_Title,l.log_Author,L.log_PostTime,L.log_Content,L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Category AS C WHERE C.cate_ID=L.log_cateID AND L.log_IsShow=true AND L.log_IsDraft=false and C.cate_Secret=false ORDER BY log_PostTime DESC" Else SQL="SELECT L.log_ID,L.log_Title,l.log_Author,L.log_PostTime,L.log_Content,L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Category AS C WHERE log_cateID="&cate_ID&" AND C.cate_ID=L.log_cateID AND L.log_IsShow=true AND L.log_IsDraft=false and C.cate_Secret=false ORDER BY log_PostTime DESC" FeedCate=True

顾铭的回答:

把top 10去掉 IF IsInteger(cate_ID) = False Then SQL="SELECT L.log_ID,L.log_Title,l.log_Author,L.log_PostTime,L.log_Content,L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Category AS C WHERE C.cate_ID=L.log_cateID AND L.log_IsShow=true AND L.log_IsDraft=false and C.cate_Secret=false ORDER BY log_PostTime DESC" Else SQL="SELECT L.log_ID,L.log_Title,l.log_Author,L.log_PostTime,L.log_Content,L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Category AS C WHERE log_cateID="&cate_ID&" AND C.cate_ID=L.log_cateID AND L.log_IsShow=true AND L.log_IsDraft=false and C.cate_Secret=false ORDER BY log_PostTime DESC" FeedCate=True

来碗孟婆汤的回答:

为何会出来 -->因为你写成笛卡尔积了,就是from后面只有表名没有关联字段。比如有: a表 (用户id,用户名) (1001,张三) (1002,李四) b表 (用户id,职称) (1001,学生) 如果 select a.用户id,a.用户名,b.用户id,b.职称 from a,b; 你会发现出现以下结果: 1001,张三,1001,学生 1002,李四,1001,学生 这就出现和你遇到的问题一样的问题了,就是检索出了【a表记录条数*b表记录条数】条的数据了,也就是笛卡尔积。 ******************** 解释完了:把你的sql修改如下【加上表的关联关系】 select spj.sno,spj.qty from spj,p,s where spj.sno = s.sno and spj.pno = p.pno and spj.sno like 's1' ************************ 补充:刚刚看到你的sql种检索的只是一个表的信息,那么这么写就好。 select sno,qty from spj where spj.sno like 's1'; 或者 select sno,qty from spj where spj.sno ='s1'; ************************ --- 以上,希望对你有所帮助。


鲜花

握手

雷人

路过

鸡蛋

最新评论

热门推荐
最新资讯

广告服务|投稿要求|禁言标准|版权说明|免责声明|手机版|小黑屋|推扬网 ( 粤ICP备18134897号 )|网站地图 | 邮箱:vayae@hotmail.com

GMT+8, 2025-6-15 08:35 , Processed in 0.345481 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部