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

oracle开发中,二表关联查询的小问题,在线等
oralce中,有二个表
年纪表  d_age
age_id sub1_id min_value max_value age_desc    sub1_desc
1        1        6        10         6-15岁    6-10岁
2        2        11       15         6-15岁    11-15岁
...

用户资料表
dw_user
cust_id   gender          age        deposit       owe             
1          女             7             100.0       200
2          男             21            150.25      0
....

现需:
据上面的二个表,编写sql查询语句,列出符合条件(非女性,年纪不到50)的age_desc 组其用户数,
deposit 汇总值及平均值,要求查询结果含下面的数据

age_desc描述
此组内的用户数
此组内的depoist汇总值
此组内的deposit平均值

显示结果示例

6-15岁  20  300    76 

请问,这sql如何写呢,thanks

------解决方案--------------------
SELECT D.AGE_DESC, COUNT(D.AGE_DESC), SUM(DW.DEPOSIT), AVG(DW.DEPOSIT)
  FROM D_AGE D, DW_USER DW
 WHERE DW.AGE < '50'
   AND DW.GENDER NOT LIKE '女'
   AND DW.CUST_ID = D.AGE_ID
 GROUP BY AGE_DESC

楼主试试这个,我不知道你这两个表通过那个字段关联,去除笛卡尔积。我就用的id。