需要您根据以下要求构建SQL查询的帮助:
我有两张表格如下:
表A:
TASKNAME HOSTNAME
---------------------------
12 A1
34 B
22 C1
43 D
65 E1
93 F
表B:
HOST NODE
----------------------
X ABC
X ABC
Y BV
B YTW
B IJK
D WWQ
D UWY
N J1
F ING
F UPI
我需要运行SQL查询来比较这两个表,并且从表A中它必须在表B中查找具有HOST字段的HOSTNAME值,最终结果应如下所示:
TASKNAME HOSTNAME
---------------------------
12 A1
34 YTW
34 IJK
22 C1
43 WWQ
43 UWY
65 E1
93 ING
93 UPI
值B,D和F在这两个表之间是通用的。
答案 0 :(得分:3)
您需要JOIN
和NVL
:
SELECT A.TASKNAME,
NVL(B.NODE,A.HOSTNAME) AS HOSTNAME
FROM TableA A
LEFT JOIN TableB B
ON A.HOSTNAME = B.HOST;