【问题标题】:INSERT with selected value插入所选值
【发布时间】:2021-02-23 08:50:54
【问题描述】:

从表中:

user   | groupId
-------------------------
A      | 1
B      | 1
B      | 2
C      | 1
C      | 3         

我想找到所有没有 groupId = 2 的记录并插入它,就像这样:

INSERT INTO Table (user, groupId) VALUES (SELECT user FROM Table WHERE groupId != '2' GROUP BY user, '2')

结果应该是这样的:

user   | groupId
-------------------------
A      | 1
A      | 2
B      | 1
B      | 2
C      | 1
C      | 2
C      | 3
         

由于记录太多,我无法一一进行或分开多个查询。有人可以帮我完成吗?谢谢!

【问题讨论】:

  • 顺便说一句,我正在使用 msssql

标签: sql sql-server-2008 sql-server-2005


【解决方案1】:

使用insert . . . select:

INSERT INTO Table (user, groupId) 
    SELECT user, 2
    FROM Table 
    GROUP BY user
    HAVING SUM(CASE WHEN groupId = 2 THEN 1 ELSE 0 END) = 0;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多