如何使用count连接不同的表.请看看我的疑问.我在这里使用CROSS APPLY.但我没有得到实际的结果.我如何从项目表中获取所有项目而不是在事件表中.
表格:Inc_cat
+------------+--------------+--+
| inc_cat_id | inc_cat_n | |
+------------+--------------+--+
| 1 | Support | |
| 2 | PM | |
| 3 | Installation | |
+------------+--------------+--+
Run Code Online (Sandbox Code Playgroud)
表:事件
+-------------+---------+------------+-----------------+
| incident_id | item_id | inc_cat_id | date_logged |
+-------------+---------+------------+-----------------+
| 100 | 555 | 1 | 2016-01-01 |
| 101 | 555 | 2 | 2016-01-18 |
| 103 | 444 | 3 | 2016-02-10 |
| 104 | 444 | 2 | 2016-04-01 |
| 105 …Run Code Online (Sandbox Code Playgroud) 如何在不GROUP BY使用CASE表达式的情况下获得值的总和SQL
(或请提出实现此目标的其他最佳方法)
查询:
SELECT
CASE
WHEN [lab_date] <= '2018-03-24'
AND [lab_date] >= '2018-01-01'
THEN(ISNULL(SUM(ISNULL([cost], 0) * 5 / 100), 0))
WHEN [lab_date] >= '2018-03-25'
THEN(ISNULL((SUM(ISNULL([cost], 0))) - (SUM(ISNULL([cost], 0) * 5 / 100)), 0))
END AS [tax]
FROM [LABOR];
+-------------+--------+
| lab_date | cost |
+-------------+--------+
| 2018-03-12 | 75.00 |
| 2018-03-01 | 150.00 |
| 2018-03-11 | 450.00 |
| 2018-03-13 | 37.50 |
| 2018-03-15 | 150.00 |
+-------------+--------+
Run Code Online (Sandbox Code Playgroud)
在lab_date之前与GROUP取得联系 …