Объединить оператор WITH с UNION - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть следующий запрос, и я хочу вывод в одну строку с разделителем моих данных | :

WITH X AS (
    SELECT 'WLT_CUSTOMER' AS TABLE_NAME_STAGING_AREA, 
        COUNT(*) as TOTAL_WLT_CUSTOMERS 
    FROM WLT_CUSTOMER 
    where WLT_DATE = (SELECT SCHEDULED_DATE FROM BANK_PARAMETERS)
    UNION ALL
    SELECT 'CUSTOMER' AS TABLE_NAME_PRODUCTION_DATABASE,
        COUNT(*) as TOTAL_CUSTOMERS 
    FROM CUSTOMER 
    where CUST_ID <> 0
)
SELECT X.TABLE_NAME_STAGING_AREA
        || '|'
        || X.TOTAL_WLT_CUSTOMERS 
        || '|'
        || X.TABLE_NAME_PRODUCTION_DATABASE
        || '|'
        || X.TOTAL_CUSTOMERS 
FROM X 

Это дает мне ошибку ORA-00904: "X "." TOTAL_CUSTOMERS ": неверный идентификатор.

Ожидаемый результат должен быть примерно таким: WLT_CUSTOMER |10 |ЗАКАЗЧИК |30

Есть идеи?Заранее спасибо!

1 Ответ

0 голосов
/ 11 декабря 2018
    select 'WLT_CUSTOMER'||'|'||(
    select COUNT(*) as TOTAL_WLT_CUSTOMERS 
    FROM WLT_CUSTOMER 
    where WLT_DATE = (SELECT SCHEDULED_DATE FROM BANK_PARAMETERS))
    ||'|'||'CUSTOMER'||'|'||
    (select  COUNT(*) as TOTAL_CUSTOMERS 
    FROM CUSTOMER 
    where CUST_ID <> 0) from dual;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...