My Table is
emp_activity
x
id emp_id date time status
---|------|-------------|----------|---------
1 | 1122 | 20-08-2019 | 09:30 AM | login
2 | 1123 | 20-08-2019 | 09:30 AM | login
5 | 1124 | 20-08-2019 | 09:30 AM | login
3 | 1125 | 20-08-2019 | 09:30 AM | login
4 | 1126 | 20-08-2019 | 09:30 AM | login
6 | 1127 | 20-08-2019 | 09:30 AM | login
7 | 1128 | 20-08-2019 | 09:30 AM | login
8 | 1129 | 20-08-2019 | 09:30 AM | login
i want to insert each employees logout rows at 11 PM on this same day in same table like this.
Wanted Table emp_activity
id emp_id date time status
---|------|-------------|----------|---------
1 | 1122 | 20-08-2019 | 09:30 AM | login
2 | 1123 | 20-08-2019 | 09:30 AM | login
5 | 1124 | 20-08-2019 | 09:30 AM | login
3 | 1125 | 20-08-2019 | 09:30 AM | login
4 | 1126 | 20-08-2019 | 09:30 AM | login
6 | 1127 | 20-08-2019 | 09:30 AM | login
7 | 1128 | 20-08-2019 | 09:30 AM | login
8 | 1129 | 20-08-2019 | 09:30 AM | login
9 | 1122 | 20-08-2019 | 11:00 PM | logout
10 | 1123 | 20-08-2019 | 11:00 AM | logout
11 | 1124 | 20-08-2019 | 11:00 AM | logout
12 | 1125 | 20-08-2019 | 11:00 AM | logout
13 | 1126 | 20-08-2019 | 11:00 AM | logout
14 | 1127 | 20-08-2019 | 11:00 AM | logout
15 | 1128 | 20-08-2019 | 11:00 AM | logout
16 | 1129 | 20-08-2019 | 11:00 AM | logout
Advertisement
Answer
Just use union all
with scalar value insead of a column:
select * from MyTable
union all
select id, emp_id, date, cast('11:00:00' as time), 'logout' from MyTable