我试图在MS Access中创建一个传递查询。查询通过ODBC连接到Oracle数据库。MS Access传递查询到Oracle VIA ODBC
我的查询在SQL Developer中运行良好,但它包含CASE (...) END
构造。 由于我发现here,Oracle ODBC驱动程序有一个问题end
解释。我得到一个错误。
有没有办法解决这个问题?
我的查询:
SELECT
CASE
WHEN PHORGEN.NR_wniosku LIKE 'PHR%'
THEN 'text1'
WHEN PHORGEN.NR_wniosku LIKE 'PBR%'
THEN 'text2'
ELSE 'text3'
END field1,
CASE
WHEN PHORGEN.NR_wniosku IS NULL
THEN reklcomp.solution_date
ELSE
CASE
WHEN phorsol.OPIS_ROZWIAZANIA = '3'
THEN rekldet.SOLUTION_SENDING_DATE
ELSE NVL(
(SELECT MIN(DATA_KSIEGOWANIA)
FROM phorbook
WHERE POWOD_KSIEGOWANIA = '1'
AND Nr_Wniosku = PHORGEN.Nr_Wniosku
),rekldet.SOLUTION_SENDING_DATE)
END
END field2
FROM rgen
JOIN reklcomp
ON rgen.UIDINSTANCEID = reklcomp.UIDINSTANCEID
JOIN rekldet
ON rgen.UIDINSTANCEID = rekldet.UIDINSTANCEID
JOIN reklclient
ON rgen.UIDINSTANCEID = reklclient.UIDINSTANCEID
LEFT JOIN phorgen
ON RGEN.NR_WNIOSKU = PHORGEN.NUMER_OAR
LEFT JOIN phorsol
ON PHORGEN.UIDINSTANCEID = phorsol.UIDINSTANCEID
向我们显示查询,我们可以帮助以另一种方式写它,而不使用'case'' end' –
我编辑了问题并添加了查询。 –
是否有帮助? –