WHERE-Clause中的案例陈述| SQL

问题描述 投票:0回答:1

您好,我在下表中列出了当月的'Month'

+---------------+
| current_Month |
+---------------+
|            12 |
+---------------+

而且我还有另一个与工人'Workers'相连的桌子>

+--------+--------------------------+
|  Name  | Month_joined_the_company |
+--------+--------------------------+
| Peter  |                       12 |
| Paul   |                        9 |
| Sarah  |                        5 |
| Donald |                       12 |
+--------+--------------------------+

我现在想根据我的Month表,显示所有加入公司的工人,直到上个月的前一个月,本月是10,我希望得到此输出

+--------+--------------------------+
|  Name  | Month_joined_the_company |
+--------+--------------------------+
| Paul   |                        9 |
| Sarah  |                        5 |
+--------+--------------------------+

但是到今年年底,我想包括所有工人,甚至哪个月份与当前月份相同

+--------+--------------------------+
|  Name  | Month_joined_the_company |
+--------+--------------------------+
| Peter  |                       12 |
| Paul   |                        9 |
| Sarah  |                        5 |
| Donald |                       12 |
+--------+--------------------------+

我现在有此声明,但它不起作用...

SELECT * 
FROM workers 
WHERE     
  CASE
        WHEN (SELECT TOP (1) Current_Month FROM Month) = 12
        THEN (Month_joined_the_company <= (SELECT TOP (1) Current_Month FROM Month))
        ELSE (Month_joined_the_company < (SELECT TOP (1) Current_Month FROM Month))
    END

但是这不起作用,并且出现错误。有人可以帮助我,如何在WHERE-Clause中使用CASE

您好,我在下表中加上当月的“月”:+ --------------- + | current_Month | + --------------- + | 12 | + --------------- +我还有另一个表是worker'Workers'+ -...

sql sql-server tsql case-when
1个回答
1
投票

这是您想要的吗?

© www.soinside.com 2019 - 2024. All rights reserved.