我有一个视图,它返回 b.emissor 和 B.indexador 列的一些空值。如果为空,我需要首先在表 TB_CAD_RF 中找到该值,如果仍然为空,我需要查询 TB_CAD_RF_2。\n我尝试下面的逻辑,但它不起作用。还尝试用案例陈述来思考一些问题,但无法弄清楚。
\n\n有人可以帮我吗?
\n\nselect\xc2\xa0A.NM_ATIVO,\xc2\xa0B.EMISSOR,\xc2\xa0B.INDEXADOR\xc2\xa0from VW_POSICAO\xc2\xa0as\xc2\xa0A\nLEFT\xc2\xa0JOIN\nTB_CAD_RF B\xc2\xa0on\xc2\xa0A.NM_ATIVO\xc2\xa0=\xc2\xa0B.CODIGO\nwhere\xc2\xa0a.NM_EMISSOR\xc2\xa0is\xc2\xa0null\nas\xc2\xa0C\xc2\xa0LEFT\xc2\xa0JOIN\xc2\xa0(\nselect\xc2\xa0C.EMISSOR,\xc2\xa0C.INDEXADOR\xc2\xa0from\xc2\xa0TB_CAD_RF_2 as\xc2\xa0D\xc2\xa0ON\xc2\xa0B.NM_ATIVO\xc2\xa0=\xc2\xa0C.CODIGO\xc2\xa0where\xc2\xa0C.EMISSOR is\xc2\xa0null)\nRun Code Online (Sandbox Code Playgroud)\n
这个模式:
SELECT
COALESCE( first.choice, second.choice, third.choice) as a
FROM
first
LEFT JOIN second on first.id = second.id
LEFT JOIN third on second.id = third.id
Run Code Online (Sandbox Code Playgroud)
Coalesce 返回传入的第一个非 null,从左到右扫描
| 归档时间: |
|
| 查看次数: |
4101 次 |
| 最近记录: |