Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос из двух таблиц + суммирование / 1 сообщений из 1, страница 1 из 1
20.08.2004, 14:42
    #32659172
roman_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из двух таблиц + суммирование
Имеются 2 таблицы, связь один ко многим, shop_order.id = shop_ordered_item.order_id

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
CREATE TABLE `shop_order` (
  `id` int( 10 ) unsigned NOT NULL auto_increment,
  `customer_id` int( 10 ) unsigned default NULL,
  `order_code` varchar( 10 ) NOT NULL default '',
  `order_date` datetime NOT NULL default '0000-00-00 00:00:00',
  `order_status` enum('new','processed') NOT NULL default 'new',
  `tax_amount` float( 10 , 4 ) NOT NULL default '0.0000',
  `delivery_amount` float( 10 , 4 ) NOT NULL default '0.0000',
  `discount_amount` float( 10 , 4 ) NOT NULL default '0.0000',
  `total_amount` float( 10 , 4 ) NOT NULL default '0.0000',
  PRIMARY KEY  (`id`),
  KEY `customer_id` (`customer_id`,`order_status`)
) TYPE=MyISAM AUTO_INCREMENT= 49  ;


CREATE TABLE `shop_ordered_item` (
  `id` int( 10 ) unsigned NOT NULL auto_increment,
  `order_id` int( 10 ) unsigned default NULL,
  `position` int( 10 ) unsigned NOT NULL default '0',
  `quantity` int( 10 ) unsigned NOT NULL default '0',
  `price` float( 10 , 4 ) NOT NULL default '0.0000',
  PRIMARY KEY  (`id`),
  KEY `order_id` (`order_id`,`article_id`)
) TYPE=MyISAM AUTO_INCREMENT= 101  ;

Нужно одним запросом, помимо прочего, получить сумму значений полей таблицы shop_order, я делаю

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT
	COUNT( DISTINCT( o.id ) ) AS count_orders,
	COUNT(i.id) AS count_ordered_item,
	SUM( i.price*i.quantity ) AS profit,
	SUM( o.total_amount ) AS total_amount,
FROM shop_ordered_item AS i
LEFT JOIN shop_order AS o ON o.id=i.order_id
GROUP BY WEEK( o.order_date,  1  )
ORDER BY o.order_date ASC

При этом SUM( o.total_amount ) AS total_amount считается неправильно.
В одном запросе можно решить проблему?

Заранее спасибо.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос из двух таблиц + суммирование / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]