2013-11-14 10 views
0

Мне просто интересно, как обновить строку в таблице1, если пара значений из table1 и table2 равна.sql set variable, где выполняется несколько условий

, например, table1 есть строки:

id - password - attemp 
user secret  0 
user2 pass  0 

и TABLE2 есть строки»

id - password 
user secret 
user2 kek 

обновления значения table1 attemp, где пользователь table1 и пароль равны и table1 attemp = 0, в table1 attemp = 1

я сделал что-то вроде этого (и это не работает):

UPDATE a1 
set a1.attemp = '1' 
from table1 a1 
JOIN table2 a2 
on a1.user = a2.user AND a1.password = a2.password 
WHERE 
a1.attemp != 1 
+0

какой смысл в том, чтобы две таблицы? таблица 2 содержит ту же самую информацию из таблицы 1! – NoLiver92

+0

У меня есть две таблицы из разных баз данных, но с одинаковыми значениями, и их нужно проверить. –

ответ

0

Попробуйте это:

UPDATE table1 a1 
INNER JOIN table2 a2 ON a1.id = a2.id AND a1.password = a2.password 
SET a1.attemp = '1' 
WHERE a1.attemp != '1' 

Это приведет:

ID PASSWORD ATTEMP 
user secret 1 
user2 pass 0 

sqlfiddle demo

+0

Спасибо, это помогает! :) –

Смежные вопросы