如果`fixed_cost`不在a或b表中,应该怎么做?
时间: 2024-12-01 19:29:29 浏览: 6
如果`fixed_cost`作为单独的数据存储在一个外部数据源或者是一个常量,你可以直接将其作为一个硬编码的值加入到计算中,而不是从表中获取。例如,如果你有一个名为`costs`的变量存储固定成本,查询会变成:
```sql
SELECT a.type AS promotion,
SUM(CASE WHEN a.type = 'refund' THEN a.cashamount ELSE 0 END) +
SUM(CASE WHEN b.type = 'refund' THEN b.amount ELSE 0 END) - costs AS result
FROM a
LEFT JOIN b ON a.type = b.type AND a.type = 'refund';
```
或者,如果你知道固定成本是一个固定的数值,可以直接写入数字:
```sql
SELECT a.type AS promotion,
SUM(CASE WHEN a.type = 'refund' THEN a.cashamount ELSE 0 END) +
SUM(CASE WHEN b.type = 'refund' THEN b.amount ELSE 0 END) - 1000 (假设固定成本为1000) AS result
FROM a
LEFT JOIN b ON a.type = b.type AND a.type = 'refund';
```
在这种情况下,你需要确保`costs`字段的值已知并准确无误。
阅读全文