我有一个包含id
,sname
,attendance
列的表格,如
id sname attendance month
1 xyz p 12
2 asd p 12
3 qwe L 12
4 tyy A 12
我希望每个月重新插入id
和sname
下个月的attendance
。
现在,我想在Attendance
列中将AB重新插入第1个月的数据,如下所示:
id sname attendance month
1 xyz p 12
2 asd p 12
3 qwe L 12
4 tyy A 12
1 xyz ab 1
2 asd ab 1
3 qwe ab 1
4 tyy ab 1
答案 0 :(得分:2)
如果我做得对:
INSERT INTO t (id,sname,attendance,month)
SELECT id,sname,'ab',(month%12)+1 from t
答案 1 :(得分:0)
试试这个
INSERT INTO your_table (id,sname,attendance,month)
SELECT T.id, T.sname, T.attendance, M.m
FROM (SELECT 1 m UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12) AS M
CROSS JOIN your_table T
WHERE NOT EXISTS (SELECT * FROM your_table WHERE m=M.m)
最好不要使用像MONTH
这样的保留字来表示表,列和其他对象的名称。