Я получил этот запрос, который должен возместить людям половину материала, который они купили на прошлой неделе:SQL ошибка запроса, нужна помощь
UPDATE main_data SET md.amount_current = md.amount_current + (bought.total/2)
FROM main_data AS md
INNER JOIN (
SELECT DISTINCT sb.user_id, SUM(sb.spend) AS total
FROM shopitems_bought AS sb
LEFT JOIN shopitems AS si
ON sb.shopitem_id = si.id
WHERE sb.date_bought <= '2012-03-09'
AND sb.date_bought > DATE_ADD('2012-03-09', INTERVAL -7 DAY)
AND si.valid = 1
GROUP BY sb.user_id
) AS bought ON bought.user_id = md.user_id
WHERE md.valid = 1
SELECT, часть выполняет только штраф самостоятельно и возвращает право данные (идентификаторы, которые должны быть возвращены и сколько они тратят на этой неделе). Однако запрос в целом вызывает ошибку, говоря, что у меня есть ошибка в синтаксисе SQL около строки 2 (я цитирую: «FROM main_data AS md INNER JOIN (SELECT DISTINCT sb.forum_id, SUM (sb.s»).
я не могу видеть, что я делаю неправильно
Спасибо, что решили его! Все эти разные версии SQL раздражают. – Clavus