有人可以帮助我使用这些条件使 SQL (ORACLE) 查询更加灵活吗?
有2张桌子:
表格1
CodeA Year
1112-999 2017
1113-999 2017
表 2
CodeB Year
1114-111 2017
1115-111 2018
然后运行这个脚本
SELECT aa.CodeA, bb.CodeB FROM Table 1 aa
JOIN Table 2 bb ON aa.Year = bb.Year
AND REGEXP_LIKE (aa.CodeA, '^111+2');
在这种情况下,结果是:
CodeA CodeB
1112-999 1114-111
但在这种情况下,它只需要显示第一个值,并且在运行脚本后另一列应该是空的。
例如,
CodeA CodeB
1112-999 NULL
但如果列“CodeB”(表 2)包含value = 1112-534,则该值应在运行相同的脚本后出现
例如,
表格1
CodeA Year
1112-999 2017
1113-999 2017
表 2
CodeB Year
1114-111 2017
1112-534 2017
1115-111 2018
运行相同的脚本后,结果应该是:
CodeA CodeB
1112-999 1112-534
我应该在此脚本中进行哪些更改以使其灵活(通用),具体取决于表中的输入数据?我的意思是当表 2 不包含预期值时(在本例中为 1112-534),那么结果(对于第 2 列)应该为 NULL:
CodeA CodeB
1112-999 NULL
并且当表 2 包含此值 ( 1112-534 ) 时,响应应为:
CodeA CodeB
1112-999 1112-534
这是我拥有并希望使其更灵活的脚本:
SELECT aa.CodeA, bb.CodeB FROM Table 1 aa
JOIN Table 2 bb ON aa.Year = bb.Year
AND REGEXP_LIKE (aa.CodeA, '^111+2');
请帮助我)))提前致谢。