2017-08-29 125 views
0
Order_ID 
========= 
id price 
A 10 
A 10 
B 20 
B 20 
C 30 
C 30 
D 40 
D 40 

Client 
================== 
Client Name id 
1 ClientInc. A 
1 ClientInc. A 
1 ClientInc. B 
1 ClientInc. B 
1 ClientInc. C 
1 ClientInc. C 
1 ClientInc. D 
1 ClientInc. D 

我有我需要加入(Order_ID上和客户端),并要总结由不同ORDER_ID价格,并创建下面的报告两个表:SUM DISTINCT VALUE [加入

Desired Solution 
========================   
id Name Sum(Price) 
1 ClientInc. 100 

这是我使用当前查询:

SELECT merchant, 
name, 
SUM(price) 
FROM order_id a 
JOIN client b 
ON a.id = b.id 
GROUP BY merchant, name 

它是通过总结每ORDER_ID显示下面的输出,但问题是,我要总结一个独特的命令ID:

Current Wrong Report 
======================  
id Name Sum(Price) 
1 ClientInc. 200 
+0

如果同一个ID有两个不同的价格,你希望结果是什么? –

+0

使用DISTINCT关键字 –

+0

您正在使用哪个[DBMS](https://en.wikipedia.org/wiki/Database)? Postgres的?甲骨文? DB2?火鸟? –

回答

0
SELECT merchant, 
     name, 
     SUM(price) 
FROM (SELECT DISTINCT id,price 
     FROM order_id 
    ) a 
JOIN client b 
ON a.id = b.id 
GROUP BY merchant, name;