表结构如下。第一个表是 subusage,下一个是 machinesubusage。两者都与 sub_usage_id 列相关联。我需要选择 subusage.product_key 及其相关的使用计数,如果 subusage.is_standalone 不为空,那么我需要从 subusage.usage_count 获取相关的使用计数,否则相关的使用计数将是该 sub_usage_id 的 machinesubusage 表中的行数。我已经针对以下两种情况编写了查询。我尝试使用 case 和 if 语句来组合这两个查询,但徒劳无功
SELECT SU.product_key,COUNT(*) FROM SubUsage SU
INNER JOIN MachineSubUsage MSU ON MSU.sub_usage_id = SU.sub_usage_id
WHERE SU.acct_id = 40897342 GROUP BY SU.product_key
SELECT SU.product_key, SU.usage_count FROM SubUsage SU
INNER JOIN MachineSubUsage MSU ON MSU.sub_usage_id = SU.sub_usage_id
WHERE SU.acct_id = 40897342 GROUP BY SU.product_key, SU.usage_count
表结构: