我有一个包含以下记录Mysql的获得没有处理前一个月的所有记录在当月
slno | FirstName | LastName | Attended | Month | Year |
-----|-----------|----------|----------|--------|------|
1 | John | Smith | 0 | 04 | 2017 |
2 | Jack | Paul | 1 | 04 | 2017 |
3 | Jerry | Tom | 1 | 04 | 2017 |
4 | Beth | Home | 0 | 04 | 2017 |
5 | Julia | John | 1 | 04 | 2017 |
6 | Cris | joy | 0 | 05 | 2017 |
7 | Meiy | Rony | 1 | 05 | 2017 |
8 | Ronald | Jony | 1 | 05 | 2017 |
9 | Quest | Pio | 0 | 05 | 2017 |
10 | Mary | June | 1 | 05 | 2017 |
11 | Joy | Meth | 0 | 03 | 2017 |
12 | Ruby | Rony | 1 | 03 | 2017 |
13 | Royal | Jony | 1 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
15 | Min | June | 1 | 03 | 2017 |
我想说明根据年份和月份的数据表。 例如:04 2017应该只显示4月份的月份数据和3月份出席的= 0。但是当我搜索2017年5月时,它应该显示5月份的月份数据,其中包括以前的月份数据,即出席= 0 [3月和4月]。
我有以下语句:
select FirstName,LastName,Attended from UserTable
where Attended in (0,1)
and (Attended not in (1) or (Month='04' and Year='2017'));
我会得到我想要的记录。但是如果我搜索Month = '03'Year ='2017',则它会显示从五月和四月开始的所有Attended = 0。
if Month='05' year='2017' -- current month
6 | Cris | joy | 0 | 05 | 2017 |
7 | Meiy | Rony | 1 | 05 | 2017 |
8 | Ronald | Jony | 1 | 05 | 2017 |
9 | Quest | Pio | 0 | 05 | 2017 |
10 | Mary | June | 1 | 05 | 2017 |
1 | John | Smith | 0 | 04 | 2017 |
4 | Beth | Home | 0 | 04 | 2017 |
11 | Joy | Meth | 0 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
如果一个月= '04' 年= '2017年'
1 | John | Smith | 0 | 04 | 2017 |
2 | Jack | Paul | 1 | 04 | 2017 |
3 | Jerry | Tom | 1 | 04 | 2017 |
4 | Beth | Home | 0 | 04 | 2017 |
5 | Julia | John | 1 | 04 | 2017 |
11 | Joy | Meth | 0 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
如果一个月= '03' 年= '2017年'
11 | Joy | Meth | 0 | 03 | 2017 |
12 | Ruby | Rony | 1 | 03 | 2017 |
13 | Royal | Jony | 1 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
15 | Min | June | 1 | 03 | 2017 |
我怎样才能做到这一点?
难道您发布表架构,什么是参加了,一个月的类型和年专栏? – lloiacono
varchar是。像这样的存储过程调用:call getUserDetails('04','2017'); – RUPA
使用其他信息而不是评论来编辑您的问题。你期望什么输出,特别是对于上个月的信息。 –