Foxtable(狐表)用户栏目专家坐堂 → 请教sql语句


  共有4003人关注过本帖树形打印复制链接

主题:请教sql语句

帅哥哟,离线,有人找我吗?
xxfoxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
请教sql语句  发帖心情 Post By:2021/11/6 12:12:00 [只看该作者]

s  elect 序号,客户序号,日期,客户号,唛头,订单号,路线,运输模式,品名,件数,总体积,重量,FCL,成本计算方式,单位成本,运费,报关费,拖车费,其他杂费1,其他杂费2,其他杂费3,其他杂费4,其他杂费5,总成本,单位报价,报价运费,报价报关费,报价拖车费,报价其他杂费1,报价其他杂费2,报价其他杂费3,总报价,总报价-总成本 as 利润,备注,结账,操作员 from {业务明细} 
 where 序号 not in (s e  lect 业务单据序号 from {供应商往来} where 是否付款='否') and 结账='已结' Order by 日期  desc
请教这个查不到数据的原因,正确应该怎么写?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:kcgl.rar


[此贴子已经被作者于2021/11/6 12:16:15编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 13:45:00 [只看该作者]

数据库有密码无法打开

查不到就是没有符合条件的数据,减少条件逐个测试

select * from 业务明细  where 结账='已结'
select 业务单据序号 from {供应商往来} where 是否付款='否' --业务明细是否有不存在业务单据序号的序号



 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2021/11/6 14:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:kcgl.rar

去掉密码了,老师帮助再看一下,应该怎么写?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 14:53:00 [只看该作者]

如果是没有符合条件的数据就要改条件,或者检查数据是否有问题。

{业务明细}结账='已结'的所有数据都在【{供应商往来} where 是否付款='否'】的结果里,所以查询没有结果是正常的。sql本身没有任何问题,考虑自己的处理逻辑是否有问题

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2021/11/6 14:56:00 [只看该作者]

我的逻辑是业务明细中的序号 不能在 (序号 not in (s e  lect 业务单据序号 from {供应商往来} where 是否付款='否'))这里有,同时,条件是已结,我的想法逻辑和语句哪里有问题呢?想不明白了

not in 不是都不在的意思吗?
[此贴子已经被作者于2021/11/6 14:57:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 14:58:00 [只看该作者]

现在的结果是【条件是已结】的数据全部都在 (序号 not in (s e  lect 业务单据序号 from {供应商往来} where 是否付款='否'))这里有,不存在没有的。如果确实应该有这种数据,那么是以前录入的数据就有问题

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2021/11/6 15:01:00 [只看该作者]

序号 都不能在这里 (s e  lect 业务单据序号 from {供应商往来} where 是否付款='否') 应该怎么写代码? 不是 not in 吗?

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 15:14:00 [只看该作者]

 not in。SQL本身没有任何问题,现在的问题是表格根本不存在【序号 都不能在这里 (s e  lect 业务单据序号 from {供应商往来} where 是否付款='否') 】的数据

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2021/11/6 15:47:00 [只看该作者]

序号0000000000000009  就符合条件啊,不在 (s e  lect 业务单据序号 from {供应商往来} where 是否付款='否')  这里,而且 结账=已结 啊,为啥不显示呢?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 16:02:00 [只看该作者]

换种用法,使用not in不允许表格有空值

select 序号,客户序号,日期,客户号,唛头,订单号,路线,运输模式,品名,件数,总体积,重量,FCL,成本计算方式,单位成本,运费,报关费,拖车费,其他杂费1,其他杂费2,其他杂费3,其他杂费4,其他杂费5,总成本,单位报价,报价运费,报价报关费,报价拖车费,报价其他杂费1,报价其他杂费2,报价其他杂费3,总报价,总报价-总成本 as 利润,备注,结账,操作员 from 业务明细 
 where not exists (select 业务单据序号 from 供应商往来 as a where 是否付款='否' and a.业务单据序号 = 业务明细.序号) and 结账='已结' Order by 日期  desc

 回到顶部