SELECT x.rptYear, x.city,
x.income1, y.income2
FROM 
(SELECT a.rptYear, a.city, 
SUM(yearIncome) AS income1
FROM lnssoftsaleexport a
WHERE a.prodCode BETWEEN 'E101010101' 
AND 'E101010300'
AND a.rptYear >= #startRptYear#
AND a.rptYear <= #endRptYear#
AND a.city = #city#
GROUP BY a.rptYear, a.city) x
LEFT OUTER JOIN 
(SELECT b.rptYear, b.city, 
SUM(ISNULL(softProdIncome, 0)) AS income2
FROM lnsyrcriterion b
WHERE b.isGov = 0 
AND declared = 1
AND b.rptYear >= #startRptYear#
AND b.rptYear <= #endRptYear#
AND b.city = #city#
GROUP BY b.rptYear, b.city) y
ON x.rptYear = y.rptYear 
AND x.city = y.city

解决方案 »

  1.   

    bugchen888(臭虫) :谢谢,可是我想要的结果是每年只显示一条记录。
      

  2.   

    SELECT x.rptYear
    x.income1, y.income2
    FROM 
    (SELECT a.rptYear
    SUM(yearIncome) AS income1
    FROM lnssoftsaleexport a
    WHERE a.prodCode BETWEEN 'E101010101' 
    AND 'E101010300'
    AND a.rptYear >= #startRptYear#
    AND a.rptYear <= #endRptYear#
    AND a.city = #city#
    GROUP BY a.rptYear) x
    LEFT OUTER JOIN 
    (SELECT b.rptYear
    SUM(ISNULL(softProdIncome, 0)) AS income2
    FROM lnsyrcriterion b
    WHERE b.isGov = 0 
    AND declared = 1
    AND b.rptYear >= #startRptYear#
    AND b.rptYear <= #endRptYear#
    AND b.city = #city#
    GROUP BY b.rptYear) y
    ON x.rptYear = y.rptYear
      

  3.   

    bugchen888(臭虫) 把qq告诉我好吗?我把数据库给你发过去,你帮我看看