设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3858|回复: 18
打印 上一主题 下一主题

【讨论】SQL语句的奇怪问题

[复制链接]
跳转到指定楼层
1#
发表于 2015-8-5 12:11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
没问题的语句如下【由于暂时限制SQL语句,只能贴图了】:

如果把f_ofr_deal_id = 77(dbo.B_DEALER.DEAL_NAME = '荔湾福淼'表中,deal_id对应的f_ofr_deal_id 正是77去掉就查不出来了。为什么?同事说,NOT IN有记录条数的限制,不过刚接触SQL Server,没听说过这回事。

另外,如果改为LEFT JOIN,同样查不出来,为什么【注:里面的join部分都是主键或者索引的】:






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2015-8-5 12:20:46 | 只看该作者
第一个搞懂了。not in 不能包含null的,所以加上not null可以达到同样的效果:
AND  f_ofr_cuid IS NOT NULL
第二个问题还没解决……即改left join查不出来的问题。
3#
发表于 2015-8-5 13:34:25 | 只看该作者
最近感觉斑竹兴致不高,以为又有美女追你而烦恼,...
4#
发表于 2015-8-5 13:34:49 | 只看该作者
本帖最后由 风中漫步 于 2015-8-5 13:36 编辑

不懂sql了

点评

新工作刚开始,得花店时间学sql server或者ADP了。  发表于 2015-8-5 13:42
回复

使用道具 举报

5#
发表于 2015-8-5 13:42:56 | 只看该作者
你的设计太复杂了,看不懂.提供点小知识吧,你自己看是否有用.LEFT JOIN好像是以基表为准,其他表没有的以null填充
6#
 楼主| 发表于 2015-8-5 13:46:10 | 只看该作者
风中漫步 发表于 2015-8-5 13:42
你的设计太复杂了,看不懂.提供点小知识吧,你自己看是否有用.LEFT JOIN好像是以基表为准,其他表没有的以null ...

ERP是用友那边开发的,基本结构看过了,似乎不符合第三范式,但我没法改,也没时间去改
我唯一能做的是根据预设条件在ADP里创建视图或者存储过程,以便提取数据。

点击这里给我发消息

7#
发表于 2015-8-5 16:32:08 | 只看该作者
是哪一类数据没查出来呢?
8#
 楼主| 发表于 2015-8-5 16:43:19 | 只看该作者
laimf 发表于 2015-8-5 16:32
是哪一类数据没查出来呢?

第二个截图的查询显示为空白,不知道哪里出问题了。
B_CUSTOMER表为主表,F_OUTFORM为子表(以CUID为键连接)。理论上将Not in改成Left join应该是这样的,不知道“不包含”在SQL Server里是否可以是用null。

点击这里给我发消息

9#
发表于 2015-8-6 06:11:41 来自手机 | 只看该作者
没看明白,逻辑复杂多表,也可用游标+sql

点击这里给我发消息

10#
发表于 2015-8-6 09:06:48 | 只看该作者
好奇怪
用SQL语句不能回复

点评

已经禁用SQL语句了,前几天问过站长,说是为了避免注入式攻击。^_^  发表于 2015-8-6 09:25
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 07:18 , Processed in 0.081269 second(s), 40 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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