检查图像并尽快回复我
Re:如何获取sql server的不同记录
发表于2015年8月19日
表一
QuestionID(primaryKey) TargetValue
1 100
2 500
3 200
第二张表
RecordID(primaryKey) Achieved Value QuestionID(foreignkey)
1 14 1
2 14 1
3 16 2
按照玛纳斯的说法 如果你想获得100:
,请查找以下查询SELECT SUM(Achieved) AS ACHIEVED, [Target]
FROM tabl1
INNER JOIN tabl2 on tabl2.QuestionID=tabl1.QuestionID
group by tabl1.QuestionID, tabl1.Target
1 - 我想要计算目标的总和和实现的SUm不仅仅是目标和实现的总和
我想在计算目标的SUM时
无论第二个表中针对问题01的行数是多少,SELECT SUM(QuestionTarget)
都将为100 ....
如果内连接创建问题,我已尝试左外连接,它也没有给出所需的结果
答案 0 :(得分:0)
您可以尝试以下查询,即使您的问题不太清楚,如果您没有得到理想的结果,那么显示您需要的输出。即使您可以创建一个sqlfiddle来获得快速解决方案 -
select questionid,sum(targetvalue) as target, sum(achivedvalue) as achieved
from
(
SELECT distinct tabl1.questionid,tabl1.targetvalue,tabl2.achivedvalue
FROM table1 as tabl1
LEFT JOIN table2 as tabl2 ON tabl2.questionid=tabl1.questionid
) a
group by questionid;
您可以在sqlfiddle中查看输出:http://sqlfiddle.com/#!9/cf590/1