SQL:加入最大值

时间:2014-06-30 14:53:34

标签: sql postgresql

如果我的表格中包含以下值:

tableA

ID   |  Value | Year
________________________

1      500      2010

和第二个表格,其中包含以下数据:

tableB

ID   |  Year |  Value
__________________________
1     2010     400
2     2010     100

我想加入Year上的表格,但是,我希望在tableA的值大于tableB的值的情况下加入,但只希望连接最高的值,结果如下:

RESULT

a.ID |  a.Value  |  a.Year  |  b.Value
_______________________________________
1        500        2010      400

2 个答案:

答案 0 :(得分:1)

您可以尝试以下查询

SELECT a.Id,a.Value,a.Year,MAX(b.Value)
FROM tableA A
JOIN tableB B ON A.Year = b.Year AND b.Value < A.Value
GROUP BY a.Id,a.Value,a.Year

答案 1 :(得分:0)

SELECT A.ID, A.value, A.year, B.value  
FROM TableB B, TableA A  
WHERE B.year=A.year AND A.value > B.value;  

当你说“但只希望加入最高价值”时,你究竟是什么意思?