用表中的UserID为1记录更新USerID的记录,如果USerID=1记录条数多过其他的,其他的UserID要增加一条类似的记录
有一表t1:
UserID Col_Name Seq
1 A 1
1 B 2
1 C 3
2 A
2 B
3 A
更新后要成为:
UserID Col_Name Seq
1 A 1
1 B 2
1 C 3
2 A 1
2 B 2
2 C 3
3 A 1
3 B 2
3 C 3请问要怎么才能实现呢?
有一表t1:
UserID Col_Name Seq
1 A 1
1 B 2
1 C 3
2 A
2 B
3 A
更新后要成为:
UserID Col_Name Seq
1 A 1
1 B 2
1 C 3
2 A 1
2 B 2
2 C 3
3 A 1
3 B 2
3 C 3请问要怎么才能实现呢?
(userid, col_name, seq)
SELECT aa.userid, aa.colname, aa.seq
FROM (SELECT b.userid, c.colname, c.seq
FROM (SELECT col_name, seq
FROM t1
WHERE userid = 1) a,
(SELECT distnict userid
FROM t1
WHERE userid <> 1) b) aa
WHERE NOT EXISTS (
SELECT 1
FROM t1 c
WHERE c.userid <> 1
AND c.userid = aa.userid
AND c.colname = aa.colname
AND c.seq = aa.seq)
1、如果USerID=1记录条数少过其他的,怎么处理?
2、USerID=1虽然多于其他的,但其他的中有USerID=1没有的Col_Name怎么办?
3、根据楼主给出的例子,不只有添加操作,还有Col_Name相同时,修改Seq值为USerID=1的Seq值。
请详细描述,以便操作