我有以下 oracle 查询:
SELECT
table_to_check.managed_system_serial,
CASE
WHEN infraprod.aix_servers.managed_system_serial IS NULL THEN
'NO'
ELSE
'YES'
END serial_exists,
name
FROM
(
SELECT
column_value managed_system_serial
FROM
TABLE ( sys.odcivarchar2list('BW020', 'D761P', '22DFW', 'BW020') )
) table_to_check
LEFT JOIN infraprod.aix_servers ON table_to_check.managed_system_serial = infraprod.aix_servers.managed_system_serial
运行上面的结果是:
我试图让 MANAGED_SYSTEM_SERIAL 列按顺序出现,因为序列号已经在列表中。我想要实现的是:
MANAGED_SYSTEM_SERIAL NAME SERIAL_EXISTS
BW020 NO
D761P gmp3dr YES
22DFW PROM1VIOS2 YES
22DFW PROM1VIOS1 YES
22DFW promdb1 YES
BW020 NO
*以上连续剧只是一个样本。实际数字总共约为1000。
**每个序列可能有多个条目,但这不是问题,我只需要让它们出现在排序的结果中,因为它们在此列表中:
(
'BW020',
'D761P',
'22DFW',
'BW020'
)
由于我对 SQL 的了解几乎为零,这困扰了我一个星期,我找不到合适的解决方案。
任何帮助是极大的赞赏。
