record_id 和 record_value . 查询应该返回所有id和值,但同时我需要返回特定id组的总和。以下是我的数据示例:
record_id
record_value
record_id record_value 54 3 56 0 78 11 98 7 103 1 78 0 44 0 67 1 68 3 69 1
我拥有的查询返回具有id和值的行。我还想在查询结果中获得其中一些列。以下是我尝试过的:
SELECT record_id, record_value CASE WHEN record_id IN ('54','56','67','68','69') THEN SUM(record_value) ELSE '' END AS RowSum FROM Records
行和应该返回 19 但是我得到了一个错误:
19
SQL Error [257] [37000]: Implicit conversion from datatype 'VARCHAR' to 'NUMERIC' is not allowed. Use the CONVERT function to run this query.
我用 Sybase DBeaver .
Sybase
DBeaver
您可能使用的代码是:
SELECT record_id, record_value, FROM Records union all select null, CASE WHEN record_id IN ('54','56','67','68','69') THEN convert(varchar, SUM(record_value)) ELSE '' END AS RowSum