2017-02-19 6 views
0

Я пытаюсь выполнить следующий вопрос для домашнего задания, но был у него часами и мог использовать некоторую помощь. Набор результатов должен быть одной таблицей с 260 записями, но результаты, которые я получаю, представлены в двух разных таблицах. Я знаю, что я близка, но чего мне не хватает?SQL - Нужны результаты в одной таблице

4) Показать все клиенты и любые заказы, содержащие слово LOCK на свое имя. Подсказка, используя инструкцию LIKE. Этот запрос похож на нижнюю часть страницы 326 и начало страницы 327.

a) Сначала напишите запрос, чтобы выбрать заказы со словом LOCK в их имени. Используя внутреннее соединение для таблицы Production.Product и salesorderdetail и salesorderheader. Должно получить 260 записей в вашем результирующем наборе. Покажите Продукт.Название и КодКлиента

SELECT 
    Product.Name 
FROM 
    Production.Product 
INNER JOIN 
    Sales.SalesOrderDetail ON Product.ProductID = SalesOrderDetail.ProductID 
WHERE 
    Name LIKE '%lock%' 

SELECT 
    SalesOrderHeader.CustomerID 
FROM 
    Sales.SalesOrderHeader 
INNER JOIN 
    Sales.SalesOrderDetail ON SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID 
+0

Почему у вас есть два 'SELECT' заявления? Просто напишите 'SELECT Product.Name, SalesOrderHeader.CustomerID FROM', затем выполните свои объединения и добавьте условие' WHERE' с помощью оператора 'LIKE', который вы уже писали. – fafl

+0

Какая СУБД вы используете? –

ответ

0

Обычно вы можете присоединиться к более чем 2 таблицы

SELECT 
    SalesOrderHeader.CustomerID, Product.Name 
FROM 
    Production.Product 
INNER JOIN 
    Sales.SalesOrderDetail ON Product.ProductID = SalesOrderDetail.ProductID 
INNER JOIN 
    Sales.SalesOrderHeader ON SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID 
WHERE 
    Name LIKE '%lock%' 

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

  • Нет связанных вопросов^_^