日期:2014-05-17  浏览次数:20789 次

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’
------解决方案--------------------
与楼上观点一样