Foxtable(狐表)用户栏目专家坐堂 → access 转sql,求教一段代码的修改


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

主题:access 转sql,求教一段代码的修改

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
access 转sql,求教一段代码的修改  发帖心情 Post By:2011/11/29 10:36:00 [只看该作者]

iif((SELECT COUNT(*) FROM 盘点明细  WHERE......)<=1,
(SELECT top 1 品名 FROM 盘点明细 WHERE.....),
(SELECT top 1 品名 FROM 盘点明细WHERE.......) & '等'&
(SELECT COUNT(*) FROM 盘点明细 WHERE..............) & '类商品') AS 盘亏商品,
[此贴子已经被作者于2011-11-29 11:34:17编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 11:04:00 [只看该作者]

看看这里的最后一节内容:

http://www.foxtable.com/help/topics/1827.htm

 


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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2011/11/29 11:14:00 [只看该作者]

好像没有讲到if...else的语句的用法,

 

第二:字段赋值问题:

select  top 1 字段 from 表 

加上'等'字

再加上 select count(*) from 表 as 字段 

这段代码遇到了:数字转字符,字符相加,字符赋值结字段三个问题

帮助没研究出来,sql中总是提示出错

[此贴子已经被作者于2011-11-29 11:14:43编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 11:22:00 [只看该作者]

这个你驾驭不了的,也不是一般能人驾驭的,还是回到foxtable的统计工具和统计方法吧。

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2011/11/29 11:37:00 [只看该作者]

我把原代码减化了,看起来更直观,请大家帮助修改一下。

这个代码是以sql视图形式存在,在狐表中嵌套使用,不好直接在狐表中操作

目前修改了一点:

if(SELECT COUNT(*) FROM 盘点明细  WHERE......)<=1
SELECT top 1 品名 FROM 盘点明细 WHERE.....
else
(SELECT top 1 品名 FROM 盘点明细WHERE.......) & '等'& str((SELECT COUNT(*) FROM 盘点明细 WHERE..............)) & '类商品') AS 盘亏商品,

但是还不对

特别是赋值到字段这一问题

[此贴子已经被作者于2011-11-29 11:42:10编辑过]

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2011/11/29 11:46:00 [只看该作者]

哦,解决了

if(SELECT COUNT(*) FROM 盘点明细 ) < 1
SELECT top 1 品名 AS 盘亏商品 FROM 盘点明细
else
SELECT top 1 品名 + '等'+ str((SELECT COUNT(*) FROM 盘点明细)) + '类商品' AS 盘亏商品
 FROM 盘点明细

[此贴子已经被作者于2011-11-29 11:46:46编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 11:50:00 [只看该作者]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2011/11/29 11:54:00 [只看该作者]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2011/11/29 13:13:00 [只看该作者]

又出现一个问题:字段如何并到一个表:下面是错的,要如何修改:

select *,
if (SELECT COUNT(*) FROM 盘点明细 ) <1
SELECT top 1 品名 AS 盘亏商品 FROM 盘点明细
else
SELECT top 1 品名 + '等'+ str((SELECT COUNT(*) FROM 盘点明细)) + '类商品' AS 盘亏商品
 FROM 盘点明细
 

结果是:取“全部字段”与“盘亏商品”这个字段合并到一个表中


 回到顶部