搭建论坛《搭建之星》论坛数据库交流 → SQL命令请教~~


  共有4358人关注过本帖树形打印

主题:SQL命令请教~~

帅哥哟,离线,有人找我吗?
天上云地下海
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:87 积分:233 威望:0 精华:0 注册:2005-3-17 14:44:39
SQL命令请教~~  发帖心情 Post By:2005-8-26 21:25:11

在一库存表中有几千种药品和原始进货量,在销售表中记录着药品的销售记录 在星中如何写SQL命令以求得出每种药品的销售量和销售之后的库存量(进货量-销售量)?

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  2楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2005-8-26 22:48:18

最好再加一个药品信息表。试试下面的SQL: select y.药品代码, y.药品名称, sum(k.进货数量) - sum(x.销售数量) as 当前库存 from 药品信息表 y,库存表 k,销售表 x where y.药品代码=k.药品代码 and y.药品代码=x.药品代码 group by y.药品代码, y.药品名称 order by y.药品代码, y.药品名称


HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
天上云地下海
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:87 积分:233 威望:0 精华:0 注册:2005-3-17 14:44:39
  发帖心情 Post By:2005-8-26 23:35:51

版主,能解释一下其中的语义吗?另外,您说要建立一个药品信息表,这个表是由手工建立的,还是由SQL生成的临时表,其中要建立些什么字段呢?先谢谢了

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  4楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2005-8-27 16:08:29

因为你要查看药品库存,所以你必须有一个包含所有药品的信息表,有了这个表,你在销售以及进货等等操作中直接选择药品就可以了,而且要查看库存,最好也要有这张表,否则假如某个药品目前库存为0,但是本期发生了进货与销售,这样如果没有一个完整的药品表的话,可能造成数据查询不完整。


HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
天上云地下海
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:87 积分:233 威望:0 精华:0 注册:2005-3-17 14:44:39
  发帖心情 Post By:2005-8-27 20:15:32

谢谢版主,能解释一下上述语句的意思吗?

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  6楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2005-8-27 21:40:35

就是从不同的表中取数,FROM语句是把相关表简化为一个字母,便于书写,就是SELECT语句中每一个字段前所加的字母,你也可以直接写数据表的名称。详细的介绍请看一些相关的SQL书籍做参考。


HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
天上云地下海
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:87 积分:233 威望:0 精华:0 注册:2005-3-17 14:44:39
  发帖心情 Post By:2005-8-29 23:44:11

版主,我试着运行了上述的SQL命令,结果却提示“试图执行的查询中不包含作为合计函数一部分的特定表达式‘代码’”。这是什么回事啊,如何解决呢

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  8楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2005-8-30 0:50:13

你在SELECT语句中使用了"代码"字段但是在GROUP BY语句中没有包含该字段。在SQL语言中,如果SELECT语句中既有单个字段(如“代码”),又有汇总字段(如sum(x.销售数量)),那么在GROUP BY语句中必须包含所有的单个字段。否则就会出现你所说的错误提示。 请参考相关SQL语言帮助的聚集函数与非聚集函数相关内容。


HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
天上云地下海
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:发烧友 帖子:87 积分:233 威望:0 精华:0 注册:2005-3-17 14:44:39
  发帖心情 Post By:2005-8-30 0:59:58

谢谢版主,查询是可以执行了,可是结果却不对: 库存表分别有编号为01和02的记录两条,而进库表中有编号和进货量 两个字段,其中的内容分别是:01 20;01 5;02 10 出库表中有编号和出库量两个字段,其中的内容分别是:01 5;02 5 现在用上述的SQL查询出来的是结果是:01 15;02 5,01应该是20才对的啊 为什么会这样呢?

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  10楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2005-8-30 10:54:11

把你的项目传上来看看吧.


HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 15 1 2 下一页

返回版面帖子列表

SQL命令请教~~








签名