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


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

主题:请教sql语句

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 13:45:00 [显示全部帖子]

数据库有密码无法打开

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

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



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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 14:53:00 [显示全部帖子]

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

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

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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 14:58:00 [显示全部帖子]

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

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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/6 15:14:00 [显示全部帖子]

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

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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望: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

 回到顶部