SQL中的平均和内部联接

时间:2018-04-29 13:50:10

标签: sql oracle inner-join average

我对SQL很新,所以我问这个问题。我正在尝试计算具有DO且没有保修的物品的平均交货时间。保修可以表示为1或NaN,因此该列不是NUMERIC。 我已经写了我认为代码应该看起来像但却遇到错误的内容。

SHIPPING_TABLE:

(复合键)

Item_id
Basket_id
seller_id
warranty
postage_class 

FIRST_CLASS:

(全部作为主键)

Item_id
Basket_id
seller_id
warranty
postage_class
delivery_time
create table AVG_DELIVERY_TIME as 
(
    SELECT DELIVERY_TIME AVG 
    ,(DELIVERY_TIME) 
    FROM 
    (
        SELECT SHIPPING_TABLE_LINK.warranty
        ,FIRST_CLASS.DELIVERY_TIME
        FROM FIRST_CLASS
        INNER JOIN SHIPPING_TABLE_LINK 
            ON SHIPPING_TABLE_LINK.warranty = FIRST_CLASS.DELIVERY_TIME
    )
);
  

错误报告 - ORA-01722:无效的数字01722. 00000 - “无效的数字”*原因:指定的数字无效。 *操作:指定有效数字。

1 个答案:

答案 0 :(得分:0)

我相信您可以使用以下代码将保修栏中的值更新为0而不是NaN

UPDATE table_name SET保修= 0 保证=" NaN;

然后,您可以创建新表并将此列指定为数字而不是varchar。希望有所帮助

相关问题