2016-11-14 2 views
-4

Я пытался понять это в течение 4 дней. Я новичок в этом и просто не могу работать так, как должен. Любая помощь будет оценена по достоинству.Нужна помощь, пытаясь понять это.

* Не просто ищет ответ

  1. Президент компании хочет список всех заказов когда-либо принятых. Он хочет увидеть имя клиента, фамилию сотрудника, который принял заказ, грузоотправителя, отправившего заказ, заказанного продукта, заказанного количества и даты размещения заказа. [Подсказка: вам нужно будет присоединиться к следующим таблицам: клиентам, сотрудникам, транспортным компаниям, заказам, заказам, продуктам и получить всю необходимую информацию.]
+4

Хорошо, что вы уже пробовали? Что именно вы застряли? –

+0

Пожалуйста, не просто сваливайте вопрос здесь, как сказал @RichBenner, что вы пробовали до сих пор? – Jerrybibo

+0

Подумайте о каждом вопросе, заданном в контексте необходимости. Поэтому определите используемую СУБД, то, что вы пробовали, покажите структуры таблиц, как они соотносятся, образцы данных ожидаемых результатов. Показывая это, вы показываете, что приложили некоторое усилие к вопросу и поняли его. – xQbert

ответ

1

Подумайте, что вы здесь делаете. Вам понадобится объединить несколько таблиц для создания нужного набора данных. Тип JOIN, который вы должны использовать, скорее всего, свяжет внешние ключи из одной таблицы с первичным ключом другого. Пожалуйста, ознакомьтесь с JOINs, если это неясно.

Вот пример запроса, который может помочь вам на правильном пути. Имена столбцов используются, скорее всего, меняться, и я дам вам понять, как получить Количество в наборе данных (количество, вероятно, в OrderDetails или, возможно, вам нужно агрегировать по продукции ID):

SELECT Customers.name, Employees.lastName, Shippers.name, Products.name,OrderDetails.orderDate 
FROM Orders 
JOIN OrderDetails ON OrderDetails.id = Orders.orderDetailId 
JOIN Customers ON Customers.customerId = Orders.customerId 
JOIN Employees ON Employees.employeeId = Orders.employeeId 
JOIN Shippers ON Shippers.Id = OrderDetails.shipperId 
JOIN Products ON OrderDetails.ProductId = Products.Id; 

Я должен обратите внимание, что это отформатировано для T-SQL и в зависимости от вашего синтаксиса СУБД может отличаться.

+0

Я получаю это далеко, тогда я не могу понять, как добавить дату заказа. Детали заказа или продукты –

+0

Выберите ShipperName, CustomerName, Employees.LastName От грузоотправителей, клиентов, сотрудников –

+0

Просто укажите эти столбцы для своих соответствующих таблиц: Orders.orderDate, OrderDetails. [ColumnName], Products.description Что-то в этом роде. Это зависит от структуры таблицы и имен полей, которые вы пытаетесь использовать. Ответ на этот вопрос, безусловно, должен ПРИСОЕДИНЯТЬСЯ к таблицам, которые вам нужно использовать. После этого вы можете вытащить данные прямо из объединенных таблиц. –

Смежные вопросы