合并两个没有关系的结果集

时间:2014-09-01 05:36:25

标签: mysql sql

您好我有两个名为table ab的表,其中包含以下数据

a包含数据

ID Value Score 
1  99.90 100   
2  98.60 200   
3  97.05 300   
4  95.06 400   
5  94.01 500   

b包含以下数据

ID Value 
1  96 
2  95 

我想要两个表的结果,B.value取决于a.value。例如,如果b.value96,那么我希望97.05的值意味着我想要相等或者更高的值来形成一个

示例输出

b.value a.value 
96       97.05
95       95.05 

1 个答案:

答案 0 :(得分:2)

如果我正确地理解你,你会做你想做的事。

SELECT MIN(a.value), b.value 
FROM tablea a
JOIN tableb b ON a.value > b.value
GROUP BY b.value

DEMO1

编辑:

包括其他列,例如您必须这样做的分数:

SELECT a_val, a.score, b_val 
FROM(
  SELECT MIN(a.value) as a_val, b.value as b_val
  FROM tablea a
  JOIN tableb b ON a.value > b.value
  GROUP BY b.value 
) t
JOIN tablea a ON a.value = t.a_val

DEMO2