已删除的值文件。更重要的是,基于串联格式并从字段值中排除逗号,这对于CSV来说是一个很好的机会。如果客户端选择忽略其他列,则第二种方法将起作用(并且更简单)。显然,我们不知道客户机,但我猜它是SQL*Plus(或SQL Developer),主要是因为如果
已删除的值文件。更重要的是,基于串联格式并从字段值中排除逗号,这对于CSV来说是一个很好的机会。如果客户端选择忽略其他列,则第二种方法将起作用(并且更简单)。显然,我们不知道客户机,但我猜它是SQL*Plus(或SQL Developer),主要是因为如果,sql,oracle,Sql,Oracle,已删除的值文件。更重要的是,基于串联格式并从字段值中排除逗号,这对于CSV来说是一个很好的机会。如果客户端选择忽略其他列,则第二种方法将起作用(并且更简单)。显然,我们不知道客户机,但我猜它是SQL*Plus(或SQL Developer),主要是因为如果是JDBC或其他什么,您可以稍后进行连接。如果是这样,则列名\u 1 noprint等将给出所需的输出。@AlexPoole是的,你是对的,但还有更多的可能性。例如,自定义报告引擎的某些变体,将通用查询结果集卸载到Excel或逗号分隔值文件。更
已删除的值文件。更重要的是,基于串联格式并从字段值中排除逗号,这对于CSV来说是一个很好的机会。如果客户端选择忽略其他列,则第二种方法将起作用(并且更简单)。显然,我们不知道客户机,但我猜它是SQL*Plus(或SQL Developer),主要是因为如果是JDBC或其他什么,您可以稍后进行连接。如果是这样,则
列名\u 1 noprint
等将给出所需的输出。@AlexPoole是的,你是对的,但还有更多的可能性。例如,自定义报告引擎的某些变体,将通用查询结果集卸载到Excel或逗号分隔值文件。更重要的是,基于串联格式,并从字段值中排除逗号,这对于CSV来说是一个很好的机会。
SELECT DISTINCT
AH.NAME_1||','||
REPLACE(A.ACTIVE_DC,',','/')||','||
REPLACE(A.PASSIVE_DC,',','/')||','||
REPLACE(H.ENVIRONMENT,',','/')||','||
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x')||','||
H.FULL_NAME||','||
H.PRIMARY_IP||','||
H.COMPLIANCE||','||
H.OS
FROM
HOST H
FULL OUTER JOIN
APP_HOST AH ON
AH.ID_2 = H.ID
FULL OUTER JOIN
HOST_SVR HS ON
HS.ID_1 = H.ID
FULL OUTER JOIN
APP A ON
AH.ID_1 = A.ID
FULL OUTER JOIN
SVR S ON
HS.ID_2 = S.ID
WHERE S.NAME IS NOT NULL
ORDER BY
AH.NAME_1,
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x'),
H.FULL_NAME
SELECT RESULT
FROM (
SELECT DISTINCT AH.NAME_1,
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x') AS NAME,
H.FULL_NAME,
AH.NAME_1||','||
REPLACE(A.ACTIVE_DC,',','/')||','||
REPLACE(A.PASSIVE_DC,',','/')||','||
REPLACE(H.ENVIRONMENT,',','/')||','||
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x')||','||
H.FULL_NAME||','||
H.PRIMARY_IP||','||
H.COMPLIANCE||','||
H.OS AS RESULT
FROM
HOST H
FULL OUTER JOIN
APP_HOST AH ON
AH.ID_2 = H.ID
FULL OUTER JOIN
HOST_SVR HS ON
HS.ID_1 = H.ID
FULL OUTER JOIN
APP A ON
AH.ID_1 = A.ID
FULL OUTER JOIN
SVR S ON
HS.ID_2 = S.ID
WHERE S.NAME IS NOT NULL
)
ORDER BY
NAME_1,
NAME,
FULL_NAME
SELECT DISTINCT
AH.NAME||','||
REPLACE(A.ACTIVE_DC,',','/')||','||
REPLACE(A.PASSIVE_DC,',','/')||','||
REPLACE(H.ENVIRONMENT,',','/')||','||
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x')||','||
H.FULL_NAME||','||
H.PRIMARY_IP||','||
H.COMPLIANCE||','||
H.OS
FROM
HOST H
FULL OUTER JOIN
APP_HOST AH ON
AH.ID_2 = H.ID
FULL OUTER JOIN
HOST_SVR HS ON
HS.ID_1 = H.ID
FULL OUTER JOIN
APP A ON
AH.ID_1 = A.ID
FULL OUTER JOIN
SVR S ON
HS.ID_2 = S.ID
WHERE S.NAME IS NOT NULL
ORDER BY
-- same as selected
AH.NAME||','||
REPLACE(A.ACTIVE_DC,',','/')||','||
REPLACE(A.PASSIVE_DC,',','/')||','||
REPLACE(H.ENVIRONMENT,',','/')||','||
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x')||','||
H.FULL_NAME||','||
H.PRIMARY_IP||','||
H.COMPLIANCE||','||
H.OS
SELECT DISTINCT
AH.NAME||','||
REPLACE(A.ACTIVE_DC,',','/')||','||
REPLACE(A.PASSIVE_DC,',','/')||','||
REPLACE(H.ENVIRONMENT,',','/')||','||
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x')||','||
H.FULL_NAME||','||
H.PRIMARY_IP||','||
H.COMPLIANCE||','||
H.OS,
-- next from order by
AH.NAME_1,
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x'),
H.FULL_NAME
FROM
HOST H
FULL OUTER JOIN
APP_HOST AH ON
AH.ID_2 = H.ID
FULL OUTER JOIN
HOST_SVR HS ON
HS.ID_1 = H.ID
FULL OUTER JOIN
APP A ON
AH.ID_1 = A.ID
FULL OUTER JOIN
SVR S ON
HS.ID_2 = S.ID
WHERE S.NAME IS NOT NULL
ORDER BY
AH.NAME_1,
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x'),
H.FULL_NAME
select
full_string
from (
SELECT DISTINCT
(
AH.NAME||','||
REPLACE(A.ACTIVE_DC,',','/')||','||
REPLACE(A.PASSIVE_DC,',','/')||','||
REPLACE(H.ENVIRONMENT,',','/')||','||
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x')||','||
H.FULL_NAME||','||
H.PRIMARY_IP||','||
H.COMPLIANCE||','||
H.OS
) as full_string,
-- next from order by
AH.NAME_1,
REPLACE(REPLACE(S.NAME,',','-'),'_x','-x') S_NAME_REPLACE,
H.FULL_NAME,
FROM
HOST H
FULL OUTER JOIN
APP_HOST AH ON
AH.ID_2 = H.ID
FULL OUTER JOIN
HOST_SVR HS ON
HS.ID_1 = H.ID
FULL OUTER JOIN
APP A ON
AH.ID_1 = A.ID
FULL OUTER JOIN
SVR S ON
HS.ID_2 = S.ID
WHERE S.NAME IS NOT NULL
)
ORDER BY
NAME_1,
S_NAME_REPLACE,
FULL_NAME