两个不同表的除法结果
Posted
技术标签:
【中文标题】两个不同表的除法结果【英文标题】:Result of division from two different tables 【发布时间】:2021-12-18 17:17:37 【问题描述】:我有 1 个表的查询结果,该表与公司已完成的票数相关。第二个查询是执行此票证所花费的时间。结果来自 2 个不相关的表。
结果 1 来自:
Count(DISTINCT case_id) AS a
FROM booker
结果 2 来自:
SELECT sum(TO_NUMBER(LEFT(duration, 2),'99D999') + TO_NUMBER(SUBSTRING(duration, 3,3),'99D999') / 60 + TO_NUMBER(RIGHT(duration, 2),'99D999') / 3600)
FROM time_ad
结果 1 是数字:120
结果 2 是数字:12,234
我想要 1 个查询,从两个查询中提取结果并将其分开。
有什么想法可以在 1 个查询中完成吗?
提前谢谢你
【问题讨论】:
您使用的是 mysql 还是 MS SQL Server? TO_NUMBER 无法被 MySQL 或 MS SQL Server 识别... ??TO_NUMBER
是 ORACLE
函数而不是 MySQL
和 MS SQL Server
docs.oracle.com/cd/B19306_01/server.102/b14200/functions191.htm。 TO_NUMBER函数可用于以下Oracle/PLSQL版本:Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i
抱歉标签错误。它是 redshift 数据库,我不确定应该选择什么标签。
【参考方案1】:
你可以直接做(未经测试,但应该可以):
SELECT
(SELECT Count(DISTINCT case_id) AS a FROM booker) /
(SELECT sum(TO_NUMBER(LEFT(duration, 2),'99D999') + TO_NUMBER(SUBSTRING(duration, 3,3),'99D999') / 60 + TO_NUMBER(RIGHT(duration, 2),'99D999') / 3600)
FROM time_ad) AS MyResult
【讨论】:
非常感谢!完美运行:) @nynek 如果它运行良好,请将其标记为正确答案。谢谢以上是关于两个不同表的除法结果的主要内容,如果未能解决你的问题,请参考以下文章