Sql server 2005 如何在if中运行select SQL语句?

Sql server 2005 如何在if中运行select SQL语句?,sql-server-2005,syntax,insert,Sql Server 2005,Syntax,Insert,我很难找到语句的语法,或者它是否可能 我们正在运行SQL Server 2005,我希望执行以下操作: 如果从mytable中选择count*,其中userid='myid'和value=3

我很难找到语句的语法,或者它是否可能

我们正在运行SQL Server 2005,我希望执行以下操作:

如果从mytable中选择count*,其中userid='myid'和value=3<1,则在mytable中插入值'myid',3


有什么建议吗?谢谢

您可以在一句话中尝试这样做:

IF ((SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1)
BEGIN
    INSERT INTO mytable VALUES ('myid', 3)
END
INSERT INTO mytable
SELECT 'myid', 3
WHERE (SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1
DECLARE @COUNT int

SET @COUNT=(SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3)
IF (@COUNT < 1)
BEGIN
    INSERT INTO mytable VALUES ('myid', 3)
END
INSERT INTO mytable
SELECT 'myid', 3
WHERE (SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1