我想写一个SQL,不知怎么写
Select SUM(表A.字段A),
表A.字段B,
(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)
From 表A
group by 表A.字段B,(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)
主要问题是group by 里(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)不正确,不知道应怎么写
Select SUM(表A.字段A),
表A.字段B,
(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)
From 表A
group by 表A.字段B,(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)
主要问题是group by 里(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)不正确,不知道应怎么写
表A.字段B,
T.字段1 字段1
From 表A,(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B) T
WHERE 表B与表A相关联的条件
group by 表A.字段B,字段1
大概该这样吧,不知道有什么其他方法.
表A.字段B,
表B.字段1
From 表A,表B
where 表B.字段1 = 表A.字段B
group by 表A.字段B,表B.字段1
表A.字段B,
(select 表B.字段1 from 表B where 表B.字段1 = 表A.字段B)//这一行有什么用,因为你表B.字段1=A.字段B,和你前面那个始终是相等的
还有
zealot_001() ( ) 信誉:100 Blog 加为好友
写的应该是没问题的,有什么问题你说啊!
Select sum(outp_bill_detail.charges),
outp_bill_detail.ordered_by,
outp_bill_detail.performed_by,
(select class_name from reck_item_class_dict ,price_list
Where price_list.item_code = outp_bill_detail.item_code
and price_list.class_on_reckoning = reck_item_class_dict.class_code
group by class_name) class_name
from outp_bill_detail,outp_orders
where outp_bill_detail.visit_date = outp_orders.visit_date
and outp_bill_detail.visit_no = outp_orders.visit_no
and outp_bill_detail.patient_id = outp_orders.patient_id
and outp_orders.prepay_rcpt_no is not null
and to_char(outp_bill_detail.visit_date,'yyyy-mm-dd') between :ls_start and :ls_end
group by outp_bill_detail.ordered_by,outp_bill_detail.performed_by ,class_name
提示分组出错
你要么把你
select class_name from reck_item_class_dict ,price_list
Where price_list.item_code = outp_bill_detail.item_code
and price_list.class_on_reckoning = reck_item_class_dict.class_code
group by class_name) class_name
写在 from后面,可以写字查询的嫌麻烦的话也有个简单的方法
多套层
select sum(charges),ordered_by,performed_by,class_name from (Select outp_bill_detail.charges,
outp_bill_detail.ordered_by,
outp_bill_detail.performed_by,
(select class_name from reck_item_class_dict ,price_list
Where price_list.item_code = outp_bill_detail.item_code
and price_list.class_on_reckoning = reck_item_class_dict.class_code
group by class_name) class_name
from outp_bill_detail,outp_orders
where outp_bill_detail.visit_date = outp_orders.visit_date
and outp_bill_detail.visit_no = outp_orders.visit_no
and outp_bill_detail.patient_id = outp_orders.patient_id
and outp_orders.prepay_rcpt_no is not null
and to_char(outp_bill_detail.visit_date,'yyyy-mm-dd') between :ls_start and :ls_end)
group by outp_bill_detail.ordered_by,outp_bill_detail.performed_by ,class_name
from (Select SUM(表A.字段A) 字段A,表A.字段B 字段B,
From 表A
group by 表A.字段B) t,表B
where 表B.字段1 = t.字段B这样行吗?