@MarshallRommel

Выгрузка данных с помощью mysql -> join?

всем привет!
есть бд dbHandel
5e7db87881d00552775495.png
создана таблица Bestell_Pos
USE `dbHandel`;

SET NAMES utf8 ;

CREATE TABLE `Bestell_Pos` (
  `pos_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `prod_id` BIGINT(20) NOT NULL,
  `order_id` BIGINT(20) NOT NULL,
  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`pos_id`),
FOREIGN KEY ( `prod_id` ) REFERENCES `products` ( `product_id` ),
FOREIGN KEY ( `order_id` ) REFERENCES `orders` ( `order_id` )


) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


какой командой можно было отображать все заказы с подробной информацией о конкретном клиенте, выбранном его именем. используя JOIN.
-> (customer: Name; Order: order_id, date; Bestell_Pos: product_id, description, count, price( 1 PCE ) , Price(Total))
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
kritic
@kritic
Вообще не очень логичная структура базы и четкость вопроса...
В общем, если нужно по каждому заказу получить данные по клиенту и его заказу, то:

select 
customers.Name as "Клиент", 
orders.order_id as "Номер заказа", 
orders.date as "Дата заказа",
Bestell_Pos.product_id as "id продукта",  
Bestell_Pos.description "Описание продукта", 
Products.price as "Стоимость 1 позиции", 
Products.count as "Кол-во позиций", 
Products.price*Products.count as "Total price"

from orders 
left join customers on orders.Customer_id = customers.Customer_id
left join Bestell_Pos on orders.Order_id = Bestell_Pos.order_id
left join Products on Bestell_Pos.prod_id = Products.Product_id

group by orders.order_id, Products.Product_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы