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


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

主题:请教SQL语句

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11412 威望:0 精华:0 注册:2013/11/24 22:10:00
请教SQL语句  发帖心情 Post By:2017/5/15 23:41:00 [只看该作者]

有个SQL语句,不知道怎么写。订单明细表中 有个MID列,也有个CID列,另外一个编码表中也有个MID列和CID列,还有个产品编码的列。现在想如果编码表中存在当前MID和CID中的产品编码,就显示出来

se lec t (s e lect [产品编码] from {编码表} where MID = {订单明细}.MID and CID = {订单明细}.CID  ) as 编码 from {订单明细} where 条件

会报错。要怎么写? 

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/16 8:19:00 [只看该作者]

Select b.[产品编码] from {编码表} As a Inner join {订单明细} As b on a.[MID] = b.[MID] And a.[CID] = b.[CID] where 条件


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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11412 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/16 13:43:00 [只看该作者]

如果编码表中存在两行都是达到条件的,我只想要_Identify 最大的那一行,要怎么写?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/16 14:07:00 [只看该作者]

 sql语句你最后只需要得到一行数据?你的逻辑是不是有问题?

 

 Select top 1 b.[产品编码] from {编码表} As a Inner join {订单明细} As b on a.[MID] = b.[MID] And a.[CID] = b.[CID] where 条件 order by [_Identify] desc

[此贴子已经被作者于2017/5/16 14:37:50编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11412 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/16 14:21:00 [只看该作者]

老师

因为编码是会换的,我只想要最新的编码!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/16 14:38:00 [只看该作者]

 那就用4楼的方法,加上排序,加上获取行数。

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11412 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/19 14:37:00 [只看该作者]

我的SQL语句如下:

IIF({销售订单明细}.物料编码 is null,(se l e ct [物料编码] from {WLBM} where MID = {销售订单明细}.MID and CID = {销售订单明细}.CID),{WLBM}.物料编码) as 物料编码

当编码表中只 MID = {销售订单明细}.MID and CID = {销售订单明细}.CID 只有一行时,上面的语句是不会出错了,但是当有两行时,就会出错。如果能选中_Identify 最大的一行?

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11412 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/19 15:00:00 [只看该作者]

解决了,用 TOP 1 加上 order by 就可以了!

 回到顶部