如何划分两列?

Nik*_*lin 7 sql

我试图从连接表中划分两列,但结果(列relative_duration的值)始终为0.查询如下:

    SELECT t1.[user_1]
      ,t1.[user_2]
      ,t1.[total_duration]
      ,(t1.total_duration/t2.[total_events_duration]) AS relative_duration
  FROM [CDRs].[dbo].[aggregate_monthly_events] AS t1 INNER JOIN [CDRs].[dbo].[user_events_monthly_stats] AS t2 ON t1.[user_1] = t2.[user_1]
Run Code Online (Sandbox Code Playgroud)

有谁知道在上面的查询中可能出现什么问题以及如何修复它以便将表t1中的total_duration列与表t2中的total_events_duration列分开?

顺便说一下,我试图用减法代替除法("/"用" - "代替),在这种情况下,列relative_duration不是0.

Ada*_*Dev 35

据推测,这些列是整数列 - 这将是作为计算的结果将是相同类型的原因.

例如,如果你这样做:

SELECT 1 / 2
Run Code Online (Sandbox Code Playgroud)

你会得到0,这显然不是真正的答案.因此,将值转换为例如decimal,并根据该数据类型进行计算.

例如

SELECT CAST(1 AS DECIMAL) / 2
Run Code Online (Sandbox Code Playgroud)

给出0.500000