CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  基础和管理

一个SQL语句的问题!

楼主catail(我背叛了自己)2003-06-04 13:51:12 在 Oracle / 基础和管理 提问

schema:5000YEARS  
  下面是我用到的表的描述  
   
  SQL>   desc   "5000YEARS"."BuySales";  
    名称                                                                             空?             类型  
    -----------------------------------------   --------   ----------------------------  
    ID                                                                                 NOT   NULL   CHAR(10)  
    BUYSALE                                                                       NOT   NULL   CHAR(1)  
    MERCHANT                                                                     NOT   NULL   CHAR(6)  
    STATE                                                                           NOT   NULL   CHAR(1)  
    STARTDATE                                                                                     DATE  
    SENDDATE                                                                                       DATE  
    ENDDATE                                                                                         DATE  
    PRICE                                                                                             NUMBER(38)  
   
   
  SQL>   desc   "5000YEARS"."Parts";  
    名称                                                                             空?             类型  
    -----------------------------------------   --------   ----------------------------  
    ID                                                                                 NOT   NULL   CHAR(10)  
    NAME                                                                             NOT   NULL   VARCHAR2(20)  
    PARTCHAR                                                                                       VARCHAR2(400)  
    AMOUNT                                                                                           NUMBER(38)  
   
   
   
  SQL>   desc   "5000YEARS"."ContactItems";  
    名称                                                                             空?             类型  
    -----------------------------------------   --------   ----------------------------  
    ID                                                                                 NOT   NULL   NUMBER(38)  
    CONTACTID                                                                   NOT   NULL   CHAR(10)  
    PARTS                                                                           NOT   NULL   CHAR(10)  
    UNITPRICE                                                                                     FLOAT(126)  
    AMOUNT                                                                                           NUMBER(38)  
   
  下面列出我的SQL语句  
  SQL>   SELECT     SUM(UnitPrice*Amount)  
      2     FROM   "5000YEARS"."ContactItems","5000YEARS"."BuySales","5000YEARS"."Parts"  
      3     WHERE   BuySales.BuySale='S'  
      4     AND   ContactID=BuySales.ID  
      5     AND   ContactItems.Parts=Parts.ID  
      6     GROUP   BY   Parts;  
  AND   ContactItems.Parts=Parts.ID  
                                                            *  
  ERROR   位于第   5   行:  
  ORA-00904:   无效列名  
  谢谢您的指点,不胜感激!!!!!!!!!!!!!  
  问题点数:100、回复次数:10Top

1 楼w_tsinghua()回复于 2003-06-04 13:56:17 得分 15

试试这个没有测试  
  SELECT     SUM(UnitPrice*Amount)  
      2     FROM   "5000YEARS"."ContactItems"     ,"5000YEARS"."BuySales"     ,"5000YEARS"."Parts"   where    
  WHERE   BuySales.BuySale='S'  
          AND   ContactID=BuySales.ID  
          AND   "ContactItems".Parts="Parts".ID  
          GROUP   BY   "ContactItems".Parts;  
  Top

2 楼w_tsinghua()回复于 2003-06-04 14:03:31 得分 0

估计前面的不行,你可以参照下面的,再改一改  
  SELECT     SUM(a.UnitPrice*a.Amount)  
  FROM   "5000YEARS"."ContactItems"   a   ,"5000YEARS"."BuySales"   b   ,"5000YEARS"."Parts"   c   where    
  WHERE   b.BuySale='S'  
          AND   a.ContactID=b.ID  
          AND   aParts=c.ID  
          GROUP   BY   a.Parts;  
   
  Top

3 楼BlueskyWide(谈趣者)回复于 2003-06-04 14:21:24 得分 15

SELECT   SUM(a.UnitPrice*a.Amount)   FROM   ContactItems   a,BuySales   b,Parts   c  
    WHERE   b.BuySale='S'   AND   a.CONTACTID=b.ID   AND   a.Parts=c.ID   GROUP   BY   c.id;  
  Top

4 楼catail(我背叛了自己)回复于 2003-06-04 14:48:27 得分 0

楼上的加上方案名就好使了  
    w_tsinghua()   的告诉有点毛病  
  SQL>   SELECT     SUM(a.UnitPrice*a.Amount)  
      2     FROM   "5000YEARS"."ContactItems"   a   ,"5000YEARS"."BuySales"   b   ,"5000YEARS"."Parts"   c   where    
      3     WHERE   b.BuySale='S'  
      4             AND   a.ContactID=b.ID  
      5             AND   aParts=c.ID  
      6             GROUP   BY   a.Parts;  
  WHERE   b.BuySale='S'  
  *  
  ERROR   位于第3行  
  ORA-00936:   缺少表达式  
  两位大侠能告诉我我错误所在吗!  
   
  太谢谢了  
  Top

5 楼snowy_howe(天下有雪)回复于 2003-06-04 14:55:20 得分 15

注意你语句的第2,3行重复用了2个WHERE,去掉一个再试吧  
  Top

6 楼catail(我背叛了自己)回复于 2003-06-04 14:55:40 得分 0

w_tsinghua()    
  的回复中缺一个.(点)  
  在后面的尝试中.已经加上了但是还是提示第3行缺少表达式Top

7 楼catail(我背叛了自己)回复于 2003-06-04 14:58:08 得分 0

那位能告诉我,我原来的语句的错误  
  谢谢Top

8 楼lynx(lynx)回复于 2003-06-04 15:13:15 得分 15

SELECT     SUM(ci.UnitPrice*ci.Amount),ci.Parts     --最好说明这两个字段属于哪张表  
          FROM   ContactItems   ci,BuySales   bs,Parts   p  
          WHERE   bs.BuySale='S'  
          AND   ci.ContactID=bs.ID  
          AND   ci.Parts=p.ID  
          GROUP   BY   ci.Parts;  
  Top

9 楼Lastdrop(空杯)回复于 2003-06-04 16:25:58 得分 40

表名的大小写问题,"5000YEARS"."Parts"   告诉Oracle你的表名是区分大小写的,也就是你的表名必须是Parts,但是若表名未加双引号则表示表名不区分大小写,Oracle自动使用大写的表名PARTS.  
   
  所以改为下面的样子应该没有问题了。  
  SELECT     SUM(UnitPrice*Amount)  
      FROM   "5000YEARS"."ContactItems"   ,"5000YEARS"."BuySales","5000YEARS"."Parts"  
      WHERE   "BuySales".BuySale='S'  
      AND   ContactID="BuySales".ID  
      AND   "ContactItems".Parts="Parts".ID  
      GROUP   BY   "ContactItems".Parts;  
  Top

10 楼catail(我背叛了自己)回复于 2003-06-09 09:44:00 得分 0

特别感谢Lastdrop(空杯)   的回复,谢谢大家的指点。不胜感激!!!!!!!!!!Top

相关问题

  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?
  • 求SQL语句
  • ***求SQL语句***
  • sql语句??
  • sql语句
  • sql语句
  • SQL语句

关键词

  • 语句
  • date
  • sql
  • null
  • buysales
  • contactitems
  • contactid
  • parts
  • unitprice
  • years

得分解答快速导航

  • 帖主:catail
  • w_tsinghua
  • BlueskyWide
  • snowy_howe
  • lynx
  • Lastdrop

相关链接

  • Oracle类图书

广告也精彩

反馈

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