我有一個包含以下記錄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
使用其他信息而不是評論來編輯您的問題。你期望什麼輸出,特別是對於上個月的信息。 –