[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите с запросом
maximka787
Ребят, помогите запрос доделать, но пойму где ошибка, видимо грамматически не правильно сделал.
Вот вывод, тут все работает.
SELECT 
`tab1`.*
FROM
`tab1`
LEFT JOIN
`tab2`
ON
`tab2`.`id_product` = `tab1`.`id`
WHERE
`tab2`.`id_product` IS NULL

Нужно эти же строки обновить act = 0
UPDATE
`tab1`
SET
`tab1`.`act` = '0'
LEFT JOIN
`tab2`
ON
`tab2`.`id_product` = `tab1`.`id`
WHERE
`tab2`.`id_product` IS NULL




Спустя 5 минут, 49 секунд (15.05.2012 - 14:50) Игорь_Vasinsky написал(а):
не уверен канешь, что можно в условии левую таблицу юзать
UPDATE `tab1` SET `tab1`.`act` = 0 WHERE `tab2`.`id_product` = `tab1`.`id` AND `tab2`.`id_product` = 0


скорее всего наврядли.

Спустя 11 минут, 12 секунд (15.05.2012 - 15:02) maximka787 написал(а):
Игорь_Vasinsky
Запрос выдает ошибку Unknown column 'tab2.id_product' in 'where clause'
ну это было бы просто)
А мой запрос в корне не верный, или ситуация с UPDATE намного сложнее чем SELECT и DELETE ?

Спустя 1 минута, 2 секунды (15.05.2012 - 15:03) Игорь_Vasinsky написал(а):
да. для UPDATE JOINов не придумали. обновление одной таблицы, без левых выборок с других.

Спустя 8 минут, 49 секунд (15.05.2012 - 15:11) maximka787 написал(а):
Цитата (Игорь_Vasinsky @ 15.05.2012 - 11:03)
для UPDATE JOINов не придумали.

ну и дела, не знал такого, ну ладно, мне без LEFT JOIN никак, тк простой JOIN ищет как =, а в этом и суть..

Спустя 32 минуты, 18 секунд (15.05.2012 - 15:44) Renden написал(а):
maximka787
Помоему я как-то делал через INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
но тут не тот случай, тк я понимаю у тебя не уникальные значения..

Спустя 5 минут, 59 секунд (15.05.2012 - 15:50) Игорь_Vasinsky написал(а):
ON DUPLICATE KEY UPDATE всего лишь обновит запись если она существует или создаст если нет таковой, но при условии что для поля стоит UNIQUE


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.