Я получаю это исключение всякий раз, когда пытаюсь выполнить следующий запрос. Хочу отметить, что я впервые использую предложение union sql.
<Oct 31, 2019 1:05:24 PM EET> <Notice> <Stdout> <BEA-000000> <2019-10-31 13:05:24.312 ERROR 21053 --- [ (self-tuning)'] o.h.engine.jdbc.spi.SqlExceptionHelper : ORA-01790: expression must have same datatype as corresponding expression>
<Oct 31, 2019 1:05:24 PM EET> <Notice> <Stdout> <BEA-000000> <2019-10-31 13:05:24.324 ERROR 21053 --- [ (self-tuning)'] o.s.boot.web.support.ErrorPageFilter : Forwarding to error page from request [/api/selling/gdp] due to exception [Database problem: org.hibernate.exception.SQLGrammarException: could not extract ResultSet]
com.example.btbsc.error.BadRequestAlertException: Database problem: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Я пробовал подобные вопросы на stackoverflow, но все еще не могу понять, где моя проблема.
Запрос:
SELECT H_DATE,
CUSTOMER_NO,
FULL_NAME,
PRODUCT_CODE,
PRODUCT_NAME,
OPENING_DATE,
CLOSING_DATE,
UNIT_ID,
UNIT_NAME,
SUC_ID,
HEADQ_NAME,
CUSTOMER_TYPE
FROM bt_nmp.PACHETE_MICRO_IMM
WHERE H_DATE = :p_H_DATE
AND CUSTOMER_NO = NVL(:p_customer_no,CUSTOMER_NO)
AND ( :p_opening_date is null OR OPENING_DATE = :p_opening_date )
AND CUSTOMER_TYPE IN (
select nvl(:p_cust_categ,CUSTOMER_TYPE) as CUST_CATEG from dual
UNION
SELECT EXTRACTVALUE (t.COLUMN_VALUE, '/e') AS CUST_CATEG
FROM (select :p_cust_categ as CUST_CATEG from dual) m,
TABLE(
XMLSEQUENCE(
xmltype(
'<e><e>' || REPLACE (m.CUST_CATEG, ',', '</e><e>') || '</e></e>'
).EXTRACT('e/e')
)
) t
)
AND NVL(PRODUCT_NAME,'-') IN (
select nvl(:p_prod_list,NVL(PRODUCT_NAME,'-')) as PROD_LIST from dual
UNION
SELECT EXTRACTVALUE (t.COLUMN_VALUE, '/e') AS PROD_LIST
FROM (select :p_prod_list as PROD_LIST from dual) m,
TABLE(
XMLSEQUENCE(
xmltype(
'<e><e>' || REPLACE (m.PROD_LIST, ',', '</e><e>') || '</e></e>'
).EXTRACT('e/e')
)
) t
)
AND (:p_unit_id is null or UNIT_ID = :p_unit_id)
ORDER BY CUSTOMER_NO ASC,H_DATE DESC