我被查询困住了...... 我在ORACLE APEX页面中有一些表格非常好,并填充表格。但是现在我想为它添加一些条件,如果某些字段等于NULL,它应该填充另一个表,如果该字段不等于null,则填充当前表。它必须是非常简单的东西,但由于我目前对SQL和PL / SQL的了解以及给出的任务的复杂性,只是无法弄清楚出了什么问题...在我的代码中所有准备好的条件很多,以及我刚丢了订单......
到目前为止,我有类似的代码:
SELECT A_ID,
B_ID,
C_ID,
D_ID, /* ETC ETC ETC*/
FROM
(SELECT a.A_ID,
CASE
WHEN a.B_ID IS NULL
THEN a.B_ID
ELSE z.B_ID,
END AS B,
/* ENOTHER CASE, ENOTHER CASE ETC. */
FROM A_TABLE a
LEFT OUTER JOIN Z_TABLE z
ON z.B_ID = a.B_ID
WHERE a.B_ID IS NULL
AND z.B_ID = :PAGE_ITEM_ID
) T
LEFT OUTER JOIN Y_TABLE y
ON y.C_ID = a.C_ID
WHERE y.C_ID = z.C_ID
) Y
INNER JOIN TABLE_C c
ON c.somefield_id = t.somefield_id
ORDER BY FIELD_NAME;
无法弄清楚错误的原因以及编写条件的顺序。如果可能的话,我希望保持相同的语法(CASE WHEN THEN),因为查询几乎完成了,除了最后一个条件之外,其他条件也很好。