日期:2014-05-18  浏览次数:20785 次

oracle 多表联合查询
如题:我有两张表
  表1为订单表:有字段如下:
  商家,销售金额(原价),实际金额(折后价),面值(分)
  表2为充值卡表,有字段如下:
  卡面值(分),是否已使用
  查询结果为:
   
  商家,面值,销售金额,实际金额,订单数量,卡面值,使用数量
 
  订单数量为:当前面值的订单统计。
  使用数量为:当前面值的卡的已使用统计。
 
 
  请大虾们告诉我怎么写啊,急。最好贴出代码。

------解决方案--------------------
看起来好乱!帮你顶下
------解决方案--------------------
select t.商家,t.面值,t.销售金额,t.实际金额,count(t.面值) as 订单数量,q.卡面值,(select count(是否已使用) from 充值卡表 w where w.卡面值=t.面值 and w.是否已使用='是') as 使用数量
from 订单表 t,充值卡表 q where q.卡面值=t.面值 
group by t.商家,t.面值,t.销售金额,t.实际金额
------解决方案--------------------
搞清楚主外键关系,两表是如何关联的,一般这样的是一个主表,一个附表,在附表中设一个关联id,跟主表关联起来,使用左外连接查询