[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с запросом
tookind
Привет всем!
Не получается создать правильный запрос . Создал 3 таблицы c данными :
1 табл order :
id| name
1 Olya
2 Nata
3 Lara
4 Jane
5 Lena
6 Lara
7 Jane
8 Lara
9 Olya
10 Olya
11 Lena
12 Lena

2 табл order_make:
id | order_id| product_id | quantity
1 | 1 | 1 | 2
2 | 1 | 3 | 3
3 | 1 | 4 | 1
4 | 2 | 2 | 10
5 | 2 | 3 | 5
6 | 3 | 1 | 2
7 | 4 | 2 | 1
8 | 5 | 4 | 6
9 | 6 | 1 | 7
10 | 7 | 1 | 8
11 | 7 | 4 | 5
12 | 8 | 1 | 3
13 | 9 | 3 | 7
14 | 10 | 2 | 10
15 | 11 | 1 | 4
16 | 11 | 2 | 3
17 | 12 | 1 | 7
18 | 12 | 3 | 10
19 | 12 | 4 | 4

3 табл product :
id| name|price
1 Sams 100.99
2 Apple 91.99
3 HTC 87.29
4 LG 97.79

Уже битый час бьюсь
Не получается написать правильный запрос что бы из этих трех таблиц вывел итоговую таблицу :

1 Name | Result | TotalPerClient

1 Lena 12 -1970.99 ,11-679.93 2650.93
2 Olya 10 - , 9-
3 ...

Не понимаю как сделать так что бы из первой таблицы id 11 ,12 ,5 сопрягалось с order_id из 2 табл * на quantity из 2 табл с price из 3 табл.

вот дамп :


CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
`price` decimal(8,2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `product` (`id`, `name`, `price`) VALUES
(1, 'Sams, 100.99),
(2, 'Apple', 91.99),
(3, 'HTC', 87.29),
(4, 'LG', 97.79);


CREATE TABLE `order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`customer_name` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


INSERT INTO `order` (`id`, `customer_name`) VALUES
(1, 'Olya'),
(2, 'Nata'),
(3, 'Lara'),
(4, 'Jane'),
(5, 'Lena'),
(6, 'Lara'),
(7, 'Jane'),
(8, 'Lara'),
(9, 'Olya'),
(10, 'Olya'),
(11, 'Lena'),
(12, 'Lena');

CREATE TABLE `order_line` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_id` int(11) NOT NULL,
`product_id` int(11) NOT NULL,
`quantity` int(7) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`order_id`) REFERENCES `order`(`id`),
FOREIGN KEY (`product_id`) REFERENCES `product`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `order_line` (`id`, `order_id`, `product_id`, `quantity`) VALUES
(1, 1, 1, 2),
(2, 1, 3, 3),
(3, 1, 4, 1),
(4, 2, 2, 10),
(5, 2, 3, 5),
(6, 3, 1, 2),
(7, 4, 2, 1),
(8, 5, 4, 6),
(9, 6, 1, 7),
(10, 7, 1, 8),
(11, 7, 4, 5),
(12, 8, 1, 3),
(13, 9, 3, 7),
(14, 10, 2, 10),
(15, 11, 1, 4),
(16, 11, 2, 3),
(17, 12, 1, 7),
(18, 12, 3, 10),
(19, 12, 4, 4);
Быстрый ответ:

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