我想根据值列的最大值来连接两张表。
select * from order
-------------------------
| ID | value | Name |
-------------------------
| 1 | 23 | REM |
| 2 | 0 | SER |
| 3 | 13 | MH |
| 4 | 3 | MH |
| 5 | 1 | MP |
-------------------------
select * from product
-------------------------
| ID | value | Name |
-------------------------
| 1 | 2 | ABC |
| 2 | 2 | DEG |
| 3 | 17 | XYZ |
-------------------------
Desired result:
-------------------------
| ID | Value | Name |
-------------------------
| 1 | 23 | REM |
| 2 | 2 | DEG |
| 3 | 17 | XYZ |
| 4 | 3 | MH |
| 5 | 1 | MP |
-------------------------
我已经尝试了下面的东西,但它不是从其他表获取值(名称)。
SELECT
MAX(IF(a.value >b.value , a.value ,b.value )) AS Value
from order a left join product b on a.ID= b.ID
请建议如何从这两张表中得到预期的结果。
2条答案
按热度按时间vxf3dgd41#
你可以使用 "完全连接 "来实现。
我只是觉得这是最简单的思考问题的方式。
bogh5gae2#
以下是bigquery标准的sql。
有产出