[英]Need help on oracle query
我有两个Oracle表,表1包含学生信息,第二个表包含学生交易详细信息。 现在,我想要一个sql查询来带出每个学生的交易详细信息的报告。 例如,学生ID,姓名,金额,交易日期等。请注意,一个学生可以进行很多交易,因此我希望出现这样一种情况:如果ID 1的学生购买了3件商品,那么在查询结果中我想查看学生ID 1并购买了3件物品。 我不希望学生证重复3次和购买的物品数量。
谢谢
编辑 :
这是我到目前为止的查询:
select
distinct(s.spriden_id),
s.spriden_last_name,
s.spriden_first_name,
t.tbraccd_detail_code,
t.sum(tbraccd_amount),
t.tbraccd_term_code,
t.tbraccd_user,
t.TBRACCD_DATE
from SPRIDEN s, TBRACCD t
where s.spriden_pidm = t.tbraccd_pidm
and t.tbraccd_term_code = 201320
and t.tbraccd_desc = 'Misc Book Store Charges';
(第一个表是SPRIDEN,第二个表是TBRACCD)
您可以使用GROUP BY对学生进行分组,如下所示:
select
s.spriden_id,
sum(t.tbraccd_amount),
from SPRIDEN s, TBRACCD t
where s.spriden_pidm = t.tbraccd_pidm
and t.tbraccd_term_code = 201320
and t.tbraccd_desc = 'Misc Book Store Charges'
GROUP BY s.spriden_id;
修改版本以选择所有列:
select
s.spriden_id,
t.tbraccd_entry_date,
t.tbraccd_term_code,
t.tbraccd_user,
sum(t.tbraccd_amount)
from SPRIDEN s, TBRACCD t
where s.spriden_pidm = t.tbraccd_pidm
and t.tbraccd_term_code = 201320
and t.tbraccd_desc = 'Misc Book Store Charges'
GROUP BY
s.spriden_id,
t.tbraccd_entry_date,
t.tbraccd_term_code,
t.tbraccd_user;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.