具有2个表之间条件的SQL查询

时间:2017-09-26 08:32:59

标签: mysql sql sql-server sql-insert sql-query-store

我试图:

1)找出1个对象是否包含我输入的相同用户名和密码,见表1

2)如果有一个对象包含相同的用户名和密码,那么

3)在表2中执行INSERT语句。

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

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

3 个答案:

答案 0 :(得分:2)

您可以从table1中选择要插入的字符串,并将条件移至where子句。这样你就有一个声明,如果用户名和passowrd匹配,则插入一条记录,如果不是,则不记录任何记录:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

    IF EXISTS (SELECT 1 FROM Tabel1 WHERE Username = @Username  AND Password= @Password))
    BEGIN
        INSERT INTO Table2 Values(@Username,@Password)
    END