当前位置: 代码迷 >> Oracle管理 >> Oracle 3表联合查询
  详细解决方案

Oracle 3表联合查询

热度:96   发布时间:2016-04-24 04:37:03.0
Oracle 三表联合查询
表1:
表名:fact
字段:monthId productId sales profit
表2:
表名:time
字段:monthId monthName
表3:
表名:product
字段:productId productName

查询结果是:
monthName sales profit 这三列
productName = ‘Stone’为筛选条件
查询 Oracle 关联

------解决方案--------------------
这语句很简单呀,就是很常见的查询的语句。
SELECT T.MONTHNAME, F.SALES, F.PROFIT
  FROM TIME T, PRODUCT P, FACT F
 WHERE T.MONTHID = F.MONTHID
   AND P.PRODUCTID = F.PRODUCTID
   AND P.PRODUCTNAME = 'Stone'

------解决方案--------------------
SELECT T.MONTHNAME, F.SALES, F.PROFIT
  FROM TIME T, PRODUCT P, FACT F
 WHERE T.MONTHID = F.MONTHID
   AND P.PRODUCTID = F.PRODUCTID
   AND P.PRODUCTNAME = 'Stone'

------解决方案--------------------

select t.monthName,f.sales ,f.profit 
from fact f
left outer join time t on t.monthId =f.monthId 
left outer join product p on p.productId=f.productId 
where p.productName = ‘Stone’
------解决方案--------------------
与楼上观点一样
  相关解决方案