2013-09-01 3 views
1

Внимание sql gurus,Mysql Update Query IN фразу

Как я могу выполнить такой запрос?

UPDATE `qwiki` 
SET haspix=1 
where eword in (select distinct fmtag 
       from qtagid) 

Он должен в основном установить флаг 'haspix' в значение true для электронных слов, найденных в другой таблице.

Thanks

+2

Да. вот что он сделает. Вы могли бы запустить его, нет? –

+0

На самом деле это не работает, поэтому я попробовал это: UPDATE 'qwiki' SET haspix = EXISTS (выберите fmtag из qtagid, где fmtag = eword) пока что так хорошо ?! –

+0

Он должен работать нормально. Как он не работает? Любые ошибки? Отправьте их, пожалуйста. –

ответ

1

В чем ваша проблема ??? Я даже повторю ваш запрос для подтверждения.

стол a_test

id value status 
------ ------- -------- 
    1 Hawaii (NULL) 
    2 Hello (NULL) 
    2 Test  (NULL) 
    3 What  (NULL) 
    4 World (NULL) 

стол a_data

value 
-------- 
hello 
world 

запрос

UPDATE a_test SET status=1 WHERE value IN (SELECT DISTINCT value FROM a_data) 

результат

id value status 
------ ------- -------- 
    1 Hawaii (NULL) 
    2 Hello 1  
    2 Test  (NULL) 
    3 ACH  (NULL) 
    4 World 1