I'm trying to select query from row count more than 2 based on ID and DATE in MS Access.
Please Guide me
I want to keep it as a single query.
Thanks
Table Absen
| ID | DATE | TIME | INOUT |
|---|---|---|---|
| 5008 | 28-Apr-24 | 08:00 | IN |
| 5008 | 28-Apr-24 | 17:00 | OUT |
| 5009 | 29-Apr-24 | 08:00 | IN |
| 5009 | 29-Apr-24 | 17:00 | OUT |
| 5009 | 29-Apr-24 | 17:00 | OUT |
| 5010 | 28-Apr-24 | 08:00 | IN |
| 5011 | 30-Apr-24 | 08:00 | IN |
| 5011 | 30-Apr-24 | 08:00 | IN |
| 5011 | 30-Apr-24 | 17:00 | OUT |
Table MASTERID
| ID | NAMEID | POSITIONID |
|---|---|---|
| 5008 | A | STAFF |
| 5009 | B | STAFF |
| 5010 | C | STAFF |
| 5011 | D | STAFF |
I used this SQL code result like this:
select a.ID, MASTERID.NAMEID, a.DATE, a.TIME, a.INOUT
from ABSEN a INNER JOIN MASTERID ON a.ID = MASTERID.ID
where exists(select 1 from ABSEN a2 where a.ID=a2.ID)
order by a.ID, a.DATE
Result From code
| ID | NAMEID | DATE | TIME | INOUT |
|---|---|---|---|---|
| 5008 | A | 28-Apr-24 | 08:00 | IN |
| 5008 | A | 28-Apr-24 | 17:00 | OUT |
| 5009 | B | 29-Apr-24 | 08:00 | IN |
| 5009 | B | 29-Apr-24 | 17:00 | OUT |
| 5009 | B | 29-Apr-24 | 17:00 | OUT |
| 5010 | C | 28-Apr-24 | 08:00 | IN |
| 5011 | D | 30-Apr-24 | 08:00 | IN |
| 5011 | D | 30-Apr-24 | 08:00 | IN |
| 5011 | D | 30-Apr-24 | 17:00 | OUT |
Desired output
| ID | NAMEID | DATE | TIME | INOUT |
|---|---|---|---|---|
| 5009 | B | 29-Apr-24 | 08:00 | IN |
| 5009 | B | 29-Apr-24 | 17:00 | OUT |
| 5009 | B | 29-Apr-24 | 17:00 | OUT |
| 5011 | D | 30-Apr-24 | 08:00 | IN |
| 5011 | D | 30-Apr-24 | 08:00 | IN |
| 5011 | D | 30-Apr-24 | 17:00 | OUT |