SQL无效标识符错误。。。。。?

SQL无效标识符错误。。。。。?,sql,oracle,Sql,Oracle,目前正在处理SSH安全外壳代码,该代码不断给出此错误代码。我尝试更改表名,但仍然出现此错误。救命啊 以下是问题的答案: 列出订单数量超过任何其他产品的产品的产品ID、产品名称和产品价格(基于订单出现次数,而不是数量)。将价格格式化为货币,并使用以下列标题:ProductID、Name、price 列出每个类别中价格最低的产品的类别ID、产品ID、产品名称和产品价格。将价格格式化为货币,并使用以下列标题:类别ID、产品ID、产品名称、价格 下面是代码中出现错误的原因: SQL> --ques

目前正在处理SSH安全外壳代码,该代码不断给出此错误代码。我尝试更改表名,但仍然出现此错误。救命啊

以下是问题的答案:

  • 列出订单数量超过任何其他产品的产品的产品ID、产品名称和产品价格(基于订单出现次数,而不是数量)。将价格格式化为货币,并使用以下列标题:ProductID、Name、price

  • 列出每个类别中价格最低的产品的类别ID、产品ID、产品名称和产品价格。将价格格式化为货币,并使用以下列标题:类别ID、产品ID、产品名称、价格

  • 下面是代码中出现错误的原因:

    SQL> --question 15
    SQL> 
    SQL> SELECT Pro.ProductID as ProductID, Pro.ProductName AS Name, to_char(Pro.ProductPrice,'$99.99') AS Price
      2  FROM Product_mys Pro
      3  WHERE Pro.ProductPrice = (SELECT MAX(Pro.ProductPrice)
      4  FROM OrderDetail_mys Pro);
    WHERE Pro.ProductPrice = (SELECT MAX(Pro.ProductPrice)
          *
    ERROR at line 3:
    ORA-00904: "PRO"."PRODUCTPRICE": invalid identifier
    
    
    SQL> 
    SQL> --question 16
    SQL> 
    SQL> SELECT Cat.CatID as Cat_ID,Pro.ProductID as Prod_ID, Pro.ProductName AS Prod_Name, to_char(Pro.ProductPrice,'$99.99') AS Price
      2  FROM Category_mys Cat,Product_mys Pro
      3  WHERE Pro.ProductPrice = (SELECT MIN(Pro.ProductPrice)
      4  FROM OrderDetail_mys Pro);
    WHERE Pro.ProductPrice = (SELECT MIN(Pro.ProductPrice)
          *
    
    这些是我用于值的模式表

    CREATE TABLE Dept_mys (
     DeptID     Number(3)       NOT NULL,
     DeptName   VARCHAR(20)     NOT NULL,
     PRIMARY KEY    (DeptID) 
     ) ;
    
    CREATE TABLE Commission_mys (
     CommClass  CHAR(1)         NOT NULL,
     CommRate   Number(2,2)     NOT NULL,
     PRIMARY KEY    (CommClass) 
     ) ;
    
    CREATE TABLE Category_mys (
     CatID      Number(3)       NOT NULL,
     catName    VARCHAR(20)     NOT NULL,
     PRIMARY KEY    (CatID) 
     ) ;
    
    CREATE TABLE SalesRep_mys (
     SalesRepID NUMBER(4)       NOT NULL,
     SalesRepFName  VARCHAR(20)     NOT NULL,
     SalesRepLName  VARCHAR(20)     NOT NULL,
     DeptID         NUMBER(3)       NOT NULL,
     CommClass      CHAR(1)         NOT NULL,
     PRIMARY KEY    (SalesRepID),
     FOREIGN KEY    (DeptID)    REFERENCES Dept_mys,
     FOREIGN KEY    (CommClass) REFERENCES Commission_mys 
     ) ;
    
    CREATE TABLE Customer_mys (
     CustID     CHAR(5)         NOT NULL,
     CustFName  VARCHAR(20)     NOT NULL,
     CustLName  VARCHAR(20)     NOT NULL,
     CustPhone  CHAR(10),
     SalesRepID NUMBER(4)       NOT NULL,
     PRIMARY KEY    (CustID),
     FOREIGN KEY    (SalesRepID)    REFERENCES SalesRep_mys
     ) ;
    
    CREATE TABLE Order_mys (
     OrderID    NUMBER(3)       NOT NULL,
     OrderDate  DATE            NOT NULL,
     CustID     CHAR(5)         NOT NULL,
     PRIMARY KEY    (OrderID),
     FOREIGN KEY    (CustID)    REFERENCES Customer_mys
     ) ;
    
    CREATE TABLE Product_mys (
     ProductID      NUMBER(3)       NOT NULL,
     ProductName    VARCHAR(30)     NOT NULL,
     CatID          Number(3)       NOT NULL,
     PRIMARY KEY    (ProductID),
     FOREIGN KEY    (CatID)     REFERENCES Category_mys
     ) ;
    
    CREATE TABLE OrderDetail_mys (
     OrderID    NUMBER(3)       NOT NULL,
     ProductID  NUMBER(3)       NOT NULL,
     ProductQty NUMBER(4)       NOT NULL,
     ProductPrice   NUMBER(6,2)     NOT NULL,
     PRIMARY KEY    (OrderID, ProductID),
     FOREIGN KEY    (OrderID)   REFERENCES Order_mys,
     FOREIGN KEY    (ProductID)     REFERENCES Product_mys
     ) ;
    

    您正在尝试使用
    ProductPrice
    from
    Product\u mys
    中没有该列的内容。

    您的products表没有Product price列。您是对的!如何执行链接OrderDetail和Product..的联接语句?如果要求您回答查询,则您的架构看起来已损坏。除非每个订单的价格是可变的,否则价格不属于订单表,但您的两个问题似乎暗示价格是固定的。如果你真的想加入,既然你已经知道你需要加入,那么你已经完成了90%的工作。试一试,如果失败了,发布你尝试过的内容,并解释你不理解的内容。好吧,我再次运行了它,显示了相同的错误。ProductPrice在OrderDetail中,但ProductName在Product表中。我不知道怎么做。请帮助我设置OrderDetail表和Product表的联接我如何联接OrderDetail和Product表。。?