sql - SQL中的平均和内连接
问题描述
我对 SQL 很陌生,所以我问这个问题。我正在尝试计算有保修和不保修的物品的平均交货时间。保修可以显示为 1 或 NaN,因此该列不是 NUMERIC。我写了我认为代码应该看起来的样子,但遇到了错误。
SHIPPING_TABLE:
(复合键)
Item_id
Basket_id
seller_id
warranty
postage_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 -“无效号码” *原因:指定的号码无效。*行动:指定一个有效的数字。
解决方案
我相信您可以使用以下代码将保修列中的值更新为 0 而不是 NaN
UPDATE table_name SET保证= 0 WHERE保证=“NaN;
然后,您可以创建新表并将此列指定为数字而不是 varchar。希望有帮助
推荐阅读
- c# - 为什么 C# 编译器强制在构造函数中显式初始化所有值类型的字段?
- xml - xml 用 Beautiful Soup 解析 Python 3 第 2 部分
- r - 将时间序列数据重塑为具有多个主题和变量的面板数据
- google-cloud-platform - Google Vision API 请求大小限制(文本检测)
- stack - 不正确使用父小部件?
- r - 由于长度而使用 optim 函数时出错
- android - FragmentManager 已经在执行事务。MainActivity 中的回调,用于创建由 FragmentPagerAdapter 托管的两个 Fragment
- java - RxJava,Room:使用 rxjava 链调用更新所有 Db 行的最佳方法
- ruby-on-rails - Rails 未连接到端口 3000
- sql - 生成带有日期和小时的时间序列并在 Amazon Redshift 中创建表