1

のような列を持つテーブルがありidますsnameattendance

id  sname attendance month
1    xyz     p         12  
2    asd     p         12  
3    qwe     L         12 
4    tyy     A         12

毎月の次の月のidandを再挿入したい。snameattendance

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 
4

2 に答える 2

2

私がそれを正しく持っている場合:

INSERT INTO t (id,sname,attendance,month)
SELECT id,sname,'ab',(month%12)+1 from t
于 2012-12-26T10:28:14.333 に答える
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また、テーブル、列、その他のオブジェクトの名前などに予約語を使用しないでください。

于 2012-12-26T06:50:50.967 に答える