【发布时间】:2021-09-03 18:07:24
【问题描述】:
表 T1
| Name | ID |
|---|---|
| AMAN | 10 |
| JIM | 11 |
| SAM | 12 |
T2 表
| VAL | ID |
|---|---|
| A00 | 10 |
| B0 | 11 |
我想要的结果:
T3
| Name | ID | VAL |
|---|---|---|
| AMAN | 10 | A00 |
| JIM | 11 | B0 |
| SAM | 12 | NA |
我该如何编写这个查询?
【问题讨论】:
-
到目前为止,您尝试了哪些方法来解决问题?
表 T1
| Name | ID |
|---|---|
| AMAN | 10 |
| JIM | 11 |
| SAM | 12 |
T2 表
| VAL | ID |
|---|---|
| A00 | 10 |
| B0 | 11 |
我想要的结果:
T3
| Name | ID | VAL |
|---|---|---|
| AMAN | 10 | A00 |
| JIM | 11 | B0 |
| SAM | 12 | NA |
我该如何编写这个查询?
【问题讨论】:
SELECT t1.name, t1.id, coalesce(t2.val,'n/a')
FROM t1
LEFT JOIN t2 ON t1.id = t2.id
【讨论】:
’。
试试这个
Select a.Name,
a.val,
b.val,
.
.
.
from TABLE T1 as a left join Table T2 b
on a.ID = b.ID
【讨论】:
您可以在 id 上留下加入:
SELECT t1.name, t1.id, t2.val
FROM t1
LEFT JOIN t2 ON t1.id = t2.id
【讨论】:
null 显示为NA,所以我假设这就是OP 的意思。如果要求使用字符串文字 'NA',那么您是对的,这需要明确处理(例如,通过使用 coaleasce。