【发布时间】:2017-11-09 16:31:57
【问题描述】:
我有以下查询:
SELECT
c.callID,
c.time,
c.duration,
(case_statement) AS inquiry_type
FROM calls AS c
我的问题是关于构建 case_statement。还有另一个表call_hco 将calls 和hco 关联在一起。
如果callID 在call_hco 表上有hco = 61,我需要case_statement,那么inquiry_type 将是“服务”。如果callID 具有hco = 52 或hco = 54 或hco = 56,则inquiry_type 将为“销售”,否则inquiry_type 将为“NULL”。
值得一提的是,如果您在call_hco 上查询特定的callID,它可以返回一行或多行,因为同一个callID 可能与多个hco 相关联。
查询结果应该类似于:
callID time duration(seconds) inquiry_type
12 15:35 55 Service
15 10:56 135 Sales
16 18:36 45 NULL
18 13:00 234 Sales
非常感谢任何帮助。
【问题讨论】:
-
c.callID是 call_hco 的关键吗?给我们 call_hco 的定义 -
我希望有一个 CallType 表。然后你可以简单地在 hco 上加入它。然后,如果您需要更改它,您的查询将正常工作,您不必更改硬编码的 case 表达式。或者在您的 hco 表中添加另一列以在其中包含inquiry_type。
-
call_hco 有 call_cho_id(integer)、callID(integer)、hco(integer) 和一些不相关的列,如 ip、timeEntered 等
标签: sql-server