Mysql中如何对一张表查询出来的结果,插入到同一张表中

ikanshu 2012-10-19 05:58:00
假设有一张表名为project_user表。该表字段有两列,分别为project,user,然后表中有下列数据:
project user
1 1
1 2
2 1
2 2
3 1
3 2
3 3
从以上记录可以看到user=3的值,仅出现在了project=3的记录中,我现在希望在project=1 和 2中,批量的将user=3也加入进去。sql语句该如何写?最终执行查询排序后的结果应该如下:
project user
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

请注意:红色字体的记录就是我希望根据一定条件批量插入的记录。
...全文
481 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ikanshu 2012-11-13
  • 打赏
  • 举报
回复
以下是我自己想出来的办法: insert into `project_user` (project,user,) SELECT distinct project,3 FROM `project_user` where project not in( SELECT project FROM `project_user` where user = '3')
mingfish2 2012-10-19
  • 打赏
  • 举报
回复
学到了,谢谢
WWWWA 2012-10-19
  • 打赏
  • 举报
回复
INSERT INTO tta
SELECT c.`project`,c.`user` FROM tta b RIGHT JOIN (
SELECT * FROM
(SELECT DISTINCT a.`project` FROM tta a) a1,
(SELECT DISTINCT a.`user` FROM tta a) b1) c
ON b.`user`=c.`user` AND b.`project`=c.`project` WHERE b.`project` IS NULL;
liangchengfck1 2012-10-19
  • 打赏
  • 举报
回复
放到同一张表中 project_user表不是有project =1和2的记录了吗 干吗还插入
insert into project_user select * from project_user where project=1 or 2

56,801

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧