问个菜鸟SQL问题

a
angelcallme
楼主 (未名空间)

两个table, 分别算各个电话号码的总费用。
打入电话:每分钟就是$1, 比如,duration 349, 费用就是349.
打出电话:前120秒,是$500, 不足120秒的,也按500算。之后每秒$2, 比如 duration 140, 费用为(500+20*2)=540

弄了半天,总是显示不对,
各位大神救救难!
d
didadida

不难吧

第一个table和第二个table连两次就行了

【 在 angelcallme (江湖一迷路小书童) 的大作中提到: 】
: 两个table, 分别算各个电话号码的总费用。
: 打入电话:每分钟就是$1, 比如,duration 349, 费用就是349.
: 打出电话:前120秒,是$500, 不足120秒的,也按500算。之后每秒$2, 比如
duration
: 140, 费用为(500+20*2)=540
: 弄了半天,总是显示不对,
: 各位大神救救难!

a
angelcallme

连来连去, 总显示不对。。。

【 在 didadida (滴滴嗒嗒) 的大作中提到: 】
: 不难吧
: 第一个table和第二个table连两次就行了
: duration

P
PCB

先 CREATE 俩函数,IN_COST 和 OUT_COST, 不行的话,就 inline 在对应的位置上

SELECT A.[name], X.[amount]
FROM
A
INNER JOIN
(
SELECT [number], SUM([COST]) AS [amount]
FROM
(
SELECT [incoming_number] AS [number], IN_COST([duration]) AS [COST] FROM B
UNION ALL
SELECT [outgoing_number] AS [number], OUT_COST([duration]) AS [COST] FROM B
) AS Y
GROUP BY [number]
) AS X ON X.[number] = A.[number]