CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

帮忙看一下。。。

楼主cynwhm()2002-10-15 18:04:56 在 C++ Builder / 基础类 提问

我有一个表结构与记录如下:  
   
  车间   入库种类  数量  
  -------------  
  一车间   外购   100  
  一车间   自制   200  
  二车间   外购   300  
  二车间   自制   400  
   
  我希望出现以下形式:  
   
  车间   外购数量   自制数量  
  ----------------  
  一车间   100            200  
  二车间   300            400  
   
  我应如何操作?  
  问题点数:100、回复次数:10Top

1 楼Adayuer(饭碗饭碗饭碗你在哪里?)回复于 2002-10-15 18:13:19 得分 0

你的自制数量总得有个来源吧,如果单纯从上面的表里得出你要的形式,嘿嘿...好象不太可能.  
   
  你可以按车间查询  
   
  SELECT   字段名   FROM   表名  
  WHERE   字段名   =   "一车间"  
   
  Top

2 楼penitent(只取一瓢)回复于 2002-10-15 19:06:03 得分 20

什么数据库???  
  给你一个sql,oracle的  
  select   t1.a,t1.b,t2.b   from    
  (select   车间   a,sum(数量)   b   from   tablename  
  where   入库种类='外购')   t1,  
  (select   车间   a,sum(数量)   b   from   tablename  
  where   入库种类='自制')   t2  
  where   t1.a   =   t2.a  
  只是一个思路,自己看看Top

3 楼faretel(水东居士)回复于 2002-10-15 22:53:13 得分 10

先把外购的数量选出来  
  再把自制的数量选出来  
  最后按车间逐条匹配就成了  
  Top

4 楼szbug(深圳虫)回复于 2002-10-15 23:10:55 得分 0

呵呵,方法很多,看你的要求了。方便的话使用数据库最好。。。以后加数据要好办。Top

5 楼caiyongqiang(蔡永强)回复于 2002-10-15 23:31:01 得分 0

统计一下,将统计的数据生成一个表,或者显示出来,很容易的事情嘛。Top

6 楼Libran()回复于 2002-10-15 23:52:42 得分 20

假设你的表名为TABLE1:  
  select   a.车间   as   车间,   a.数量   as   外购,   b.数量   as   自制    
          from   TABLE1   a   join   TABLE1   b    
          on   a.车间=b.车间    
          where   a.入库种类='外购'   and   b.入库种类='自制'Top

7 楼yuanlion(路人)回复于 2002-10-16 10:16:44 得分 0

如果只是显示结果,用SQL语句直接查询  
  如果需要操作,须建立两表之间的连接字段,使用LookUp或着计算字段可以搞定。Top

8 楼cynwhm()回复于 2002-10-16 10:29:36 得分 0

如果记录如下:  
   
  车间   入库种类  数量  
  -------------  
  一车间   外购   100  
  一车间   自制   200  
  二车间   自制   400  
  三车间   外购   50  
   
  我希望出现以下形式:  
   
  车间   外购数量   自制数量  
  ----------------  
  一车间   100            200  
  二车间   0             400  
  三车间   50                         0  
   
  应该如何?我很急?  
  Top

9 楼cynwhm()回复于 2002-10-16 10:31:35 得分 0

按前面几种方法二车间、三车间两条记录将不会列出。Top

10 楼Libran()回复于 2002-10-16 13:04:42 得分 50

那可就麻烦了,需要分段查询,再联合  
  这样:  
  SELECT   a.车间   AS   车间,   a.数量   AS   外购,   b.数量   AS   自制  
  FROM   TABLE1   a   JOIN   TABLE1   b  
  ON   a.车间   =   b.车间  
  WHERE   a.入库种类   =   '外购'   and   b.入库种类   =   '自制'  
  union  
  SELECT   a.车间,   a.数量   AS   外购,   0   AS   自制  
  FROM   TABLE1   a  
  WHERE   a.入库种类   =   '外购'   and   not   exists  
          (select   *   from   table1   where   车间=a.车间   and   入库种类<>'外购')  
  union  
  SELECT   a.车间,   0   AS   外购,   a.数量   AS   自制  
  FROM   TABLE1   a  
  WHERE   a.入库种类   =   '自制'   and   not   exists  
          (select   *   from   table1   where   车间=a.车间   and   入库种类<>'自制')  
  Top

相关问题

  • 请看一下
  • 请看一下?
  • 请看一下
  • 请看一下!
  • 看一下
  • 大家看一下!
  • 大家看一下~
  • 帮我看一下...
  • 帮忙,看一下!
  • ∷∷帮忙看一下∷∷

关键词

  • 自制
  • 查询
  • 车间
  • 外购
  • 入库种类
  • 数量
  • 表
  • table1
  • 形式
  • where

得分解答快速导航

  • 帖主:cynwhm
  • penitent
  • faretel
  • Libran
  • Libran

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo