我需要在from子句中使用select,但我一直获得笛卡尔产品。笛卡尔产品和从条款中选择
select
customer.customer_name
,orders.order_date
,order_line.num_ordered
,order_line.quoted_price
,part.descript
,amt_billed
from (select order_line.num_ordered*part.price as amt_billed
from order_line
join part
on order_line.part_num = part.part_num
) billed
,customer
join orders
on customer.customer_num = orders.customer_num
join order_line
on orders.order_num = order_line.order_num
join part
on order_line.part_num = part.part_num;
不要费心去看待其余的太难。我已经知道如果删除select子句中的from
子句和amt_billed
子查询,我不会得到笛卡尔积。我在做什么错误导致笛卡尔产品?
你忘记了与一个或多个其他表中加入你的子查询。 '(你的子查询),客户...'它应该'(你的子查询)asname加入客户[或其他表]在...' –
你还必须在子查询中添加一些可以让你加入的列它与一些表。 –
@JorgeCampos当我尝试在我的别名和子查询之间使用'AS'时,它告诉我'ORA-00933:SQL命令没有正确结束'。另外,如果我尝试在连接中使用“billed”别名,它会告诉我'ORA-00942:table or view does not exist'。 –