Если оба поля productr2010
и productr2011
имеют поле id
, вам придется формально указать, какое из них выбрать:
SELECT productr2010.id
Даже если вы сделаете это, я сомневаюсь, что вы на правильном пути с вашим запросом. Почему вы хотите объединить две таблицы? Поскольку это выглядит как историзация таблиц, я предполагаю, что вам следует добавить еще одно предложение UNION
, чтобы "объединить" productr2010
и productr2011
, а не объединять их. Другими словами, сделайте что-то вроде этого:
SELECT ...
FROM productr
...
UNION
SELECT ...
FROM productr2010
...
UNION
SELECT ...
FROM productr2011
...
Даже тогда я думаю, что запрос, который вы действительно хотите , заключается в следующем (предотвращение дублирования записей на itemName
среди трех таблиц):
SELECT id, itemName, itemRUDate, Sum(itemsSold) AS SumOf
FROM (
SELECT id, itemName, itemRUDate, itemsSold FROM productr UNION ALL
SELECT id, itemName, itemRUDate, itemsSold FROM productr2011 UNION ALL
SELECT id, itemName, itemRUDate, itemsSold FROM productr2010
) AS subquery
WHERE itemRUDate >= '2012/03/03' AND itemRUDate <= '2012/03/03'
GROUP BY itemName
ORDER BY Sum(itemsSold) DESC;
Я все еще немного сбит с толку, почему вы хотите выбрать произвольные значения id
и itemRUDate
из ваших сгруппированных подзапросов, но это был бы другой вопрос ...