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
我正在努力:
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