Мне нужно выбрать код клиента и продукта и дату, когда был сделан заказ, но у меня возникли проблемы с заказами на объединение.
Мой выбор SQL:
select c.customerNumber, p.productCode, o.orderDate as data_compra
from customers as c inner join orders as o
inner join products as p
where p.productCode =
any (
select p2.productCode from products as p2
inner join orders as o
inner join orderdetails as odt
where o.orderNumber = odt.orderNumber and
p2.productCode = odt.productCode
)
and o.orderNumber =
any (
select o2.orderNumber from orders as o2
inner join orderdetails as odt
where o.orderNumber = odt.orderNumber and
p.productCode = odt.productCode
)
Два простых объединения должны делать то, что вы хотите:
select
c.customerNumber,
d.productCode,
o.orderDate
from customer c
join orders o on o.customerNumber = c.customerNumber
join orderdetails d on d.orderNumber = o.orderNumber
В коде, который вы запрашиваете, выполните внутреннее объединение двух таблиц, но не указав связь. Вам нужно сделать так, чтобы SQL мог связывать и сопоставлять строки в каждой таблице.
Вы делаете это с помощью ключевого слова ON.
Я предлагаю вам посмотреть это видео и прочитать эту статью, прежде чем продолжить