小编Sam*_*Ham的帖子

如何使用count来表示另一个表中的值

如何使用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)

sql database sql-server sql-server-2008

3
推荐指数
1
解决办法
82
查看次数

SQL-不使用GROUP BY的情况下使用CASE

如何在不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取得联系 …

sql sql-server sql-server-2008

2
推荐指数
1
解决办法
367
查看次数

标签 统计

sql ×2

sql-server ×2

sql-server-2008 ×2

database ×1