以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  access 转sql,求教一段代码的修改  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=14697)

--  作者:小狐
--  发布时间:2011/11/29 10:36:00
--  access 转sql,求教一段代码的修改
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编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/11/29 11:04:00
--  

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

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

 


--  作者:小狐
--  发布时间:2011/11/29 11:14:00
--  

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

 

第二:字段赋值问题:

select  top 1 字段 from 表 

加上\'等\'字

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

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

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

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

--  作者:狐狸爸爸
--  发布时间:2011/11/29 11:22:00
--  
这个你驾驭不了的,也不是一般能人驾驭的,还是回到foxtable的统计工具和统计方法吧。
--  作者:小狐
--  发布时间: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编辑过]

--  作者:小狐
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/11/29 11:50:00
--  
图片点击可在新窗口打开查看
--  作者:小狐
--  发布时间:2011/11/29 11:54:00
--  
图片点击可在新窗口打开查看
--  作者:小狐
--  发布时间: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 盘点明细
 

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