У меня есть таблица продуктов, с полями товара, категории и стоимости, типа varchar, varchar и decimal.группировка общих результатов в sql
У меня тогда есть таблица продаж, с клиентом полей, именем продукта, количеством, стоимостью и saledate, типа varchar, varchar, int, decimal и date.
Я хочу показать все продукты, проданные за месяц, скажем, в текущем месяце.
Однако я не хочу показывать каждую продажу отдельно. Я хочу автоматически добавить все один продукт вместе и показать его как одну строку.
В таблице продаж стоимость каждой записи продаж уже умножается на количество.
Так, например, если бы было куплено 5 пива, оно было бы возвращено в виде одной строки, показывающей имя как пиво, quanity как 5, и стоило бы столько же.
мне нужно что-то вроде говорят:
Select product, cost from sales, WHERE sales.product=products.name
AND category='food' AND WHERE month(date_field) = month(getdate())
Это должно показать все продажи для определенной категории продукта за текущий месяц, но есть простой способ «группы» продукты вместе?
я бы принять во внимание поле количества в таблице продаж, потому что одна продажи не обязательно только один продукт
надеюсь, яркий пример, одна продажа запись может быть, для 2-х сортов пива для одного клиента с ценой из 10, а другая запись о продажах может быть для другого клиента с количеством 3 и стоимостью 15. Я хочу только одну запись, которая будет говорить о пиве, 5 были проданы, а общая стоимость - 25.
У меня есть не знаю, куда идти, насколько я получил ...
Проблема может быть глубже, чем запрос для выбора продаж продукта. Возможно, ваша структура таблицы может быть улучшена. Пожалуйста, можете отредактировать свой вопрос и добавить вывод из 'CREATE TABLE' для каждой из ваших таблиц.Вы указываете таблицу 'закупок', но это не отображается в вашем запросе - как это относится к двум другим таблицам? – Mike
Я описал структуру таблицы в начале моего вопроса, хотя? Я удалил таблицу покупок из моего вопроса, так как это не актуально. Я просто пытаюсь избежать ненужного вопроса. – 2010-07-07 08:24:55
Из вашего описания таблиц и примера запроса выглядит так, как будто вы связали таблицы через столбец VARCHAR 'product'. Если вы измените имя 'product' в таблице' products', то связь будет разорваться, если вы не обновите 'product_name' в таблице' sales'. Вы * могли бы * фактически присоединиться к таблицам, используя первичный ключ, но это не ясно из вашего вопроса. Моя точка зрения заключалась в том, что с небольшой дополнительной информацией вы бы помогли респондентам предоставить лучшее решение. – Mike