SQL 语法从表中选择某些内容,如果结果不存在,则将结果插入新表中

Posted

技术标签:

【中文标题】SQL 语法从表中选择某些内容,如果结果不存在,则将结果插入新表中【英文标题】:SQL Syntax select something from a table and insert the result into a new table if it doesn't exist 【发布时间】:2014-01-28 13:18:57 【问题描述】:

我对 SQL 语法很陌生,我在 Windows Server 上使用 MSSQL 2012 有以下场景:

2 个表,我们称它们为 table1 和 table2

我现在想通过电子邮件从 dbo.table1 中选择一个用户并取出他的 UserID ,稍后如果表还没有此 UserID,我需要将此 UserID 插入到 dbo.table2 中。

所以我开始做一个简单的选择:

Select from dbo.table1 where 'email' = 'xxx@xxx.xx'

现在,如果 dbo.table2 没有类似的 UserID,我需要选择该帐户的 UserID 并将其推送到 dbo.table2。

我如何做到这一点?

【问题讨论】:

你同时标记了 mysql 和 sql-server...它是什么? 【参考方案1】:

您可以尝试以下方法:

INSERT INTO dbo.table2 (UserID)
SELECT UserID
FROM dbo.table1
WHERE NOT EXISTS (SELECT UserID
FROM dbo.table2)

【讨论】:

@RayofCommand 答案对您有帮助吗?如果是approve它

以上是关于SQL 语法从表中选择某些内容,如果结果不存在,则将结果插入新表中的主要内容,如果未能解决你的问题,请参考以下文章

SQL 选择不同的行,如果为空则忽略行

SSMS - Sql,从表中选择数据以创建数据透视结果

如果值不存在,则选择空行

php查询sql表中数据,存在则返回显示1,不存在显示0

如果值存在于多个表中,则从表中获取结果

在检查行是不是已存在时,选择不会从表中获取任何内容