【发布时间】:2018-05-23 07:28:41
【问题描述】:
场景:
将表 ORDER 与表 COST 连接起来 其中 COST 有多个行用于表 ORDER 中的单个引用
期望的结果:
返回每个订单的单行及其相关成本。
ID NAME PRICE GST
1 Book 100 10
2 CD 50 5
例如:
表顺序
ID NAME COST
1 Book 110
2 CD 55
餐桌费用
ID ORDER_ID COST_TYPE VALUE
1 1 PRICE 100
2 1 GST 10
3 2 PRICE 50
4 2 GST 5
使用以下条件时,LEFT OUTER JOIN 返回多行
SELECT * from ORDER
LEFT OUTER JOIN COST
ON ORDER.ID = COST.ORDER_ID
【问题讨论】:
-
那么您希望它返回什么并显示输出?
-
你希望它返回什么?目前您正在从两个表中选择所有记录,我什至不确定这是否有效,因为我认为您需要指定要从哪个表中选择列。
-
啊!你们太快了:)我实际上找到了解决方案,想提出一个问题,以便可以帮助其他人。
-
更具体地说:“相关成本”是什么意思?在第二个表中,您有
PRICE和GST的值(无论这意味着什么)。这些与相关成本有什么关系(如果有的话)? -
编辑OK...您使用什么版本的Oracle? Oracle 11.1 及更高版本具有
PIVOT运算符;对于早期版本,您需要使用条件聚合。
标签: oracle duplicates left-join