SQL 两个表之间的条件查询

SQL Query with a Condition between 2 Tables

我正在努力:

1) 在Table 1

中查找1个对象是否包含与我输入的相同的用户名和密码

2) 如果存在包含相同用户名和密码的对象,则

3) 在Table 2.

中执行INSERT 语句

到目前为止我得到的最好的是:

(CASE WHEN table1 WHERE Username='myusername' AND Password='mypassword' 
    THEN ( INSERT INTO table2(things) VALUES('mythings') ) 
 ELSE Null END)

您可以 select 从 table1 插入的字符串并将条件移动到 where 子句。这样你就有了一条语句,如果用户名和密码匹配则插入一条记录,否则不插入任何记录:

INSERT INTO table2(things)
SELECT      'mythings'
FROM        table1
WHERE       Username='myusername' AND Password='mypassword'

如果您在脚本或存储过程中执行此操作,请使用 IF,例如

IF EXISTS (SELECT 1 FROM table1 WHERE Username='myusername' AND Password='mypassword')
BEGIN
    INSERT INTO table2 VALUES('mythings')
END
    IF EXISTS (SELECT 1 FROM Tabel1 WHERE Username = @Username  AND Password= @Password))
    BEGIN
        INSERT INTO Table2 Values(@Username,@Password)
    END