加入两个sql查询 [英] Join two sql queries

查看:95
本文介绍了加入两个sql查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个SQL查询,其中第一个是:

 选择活动,SUM(金额) 2009
from Activities,incomes
其中Activities.UnitName =? AND
Incomes.ActivityId = Activities.ActivityID
GROUP BY活动
ORDER BY活动;

,第二个是:

 选择活动,SUM(金额)为总金额2008
来自Activities,Incomes2008
其中Activities.UnitName =? AND
Incomes2008.ActivityId = Activities.ActivityID
GROUP BY活动
ORDER BY活动;

(不介意'?',它们代表birt中的一个参数)。
我想要实现的是以下内容:
我想要一个返回与第一个查询相同的SQL查询,但有一个额外的(第三)列,看起来完全像总金额2008(从一些DBMS支持 FROM(SELECT ...)AS alias_name

/ code>语法。



想想你的两个原始查询作为临时表。您可以这样查询:

  SELECT t1.Activity,t1。2009年总金额,t2。 
FROM(query1)as t1,(query2)as t2
WHERE t1.Activity = t2.Activity


I have two SQL queries, where the first one is:

select Activity, SUM(Amount) as "Total Amount 2009"
from Activities, Incomes
where Activities.UnitName = ? AND
      Incomes.ActivityId = Activities.ActivityID
GROUP BY Activity
ORDER BY Activity;

and the second one is:

select Activity, SUM(Amount) as "Total Amount 2008"
from Activities, Incomes2008
where Activities.UnitName = ? AND
      Incomes2008.ActivityId = Activities.ActivityID
GROUP BY Activity
ORDER BY Activity;

(Dont mind the '?', they represent a parameter in birt). What i want to achieve is the following: I want an SQL query that returns the same as the first query, but with an additional (third) column which looks exactly like "Total Amount 2008" (from the 2nd query).

解决方案

Some DBMSs support the FROM (SELECT ...) AS alias_name syntax.

Think of your two original queries as temporary tables. You can query them like so:

SELECT t1.Activity, t1."Total Amount 2009", t2."Total Amount 2008"
FROM (query1) as t1, (query2) as t2
WHERE t1.Activity = t2.Activity

这篇关于加入两个sql查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆