我有 3 張桌子:
表中資料Compania:

表中資料Periodo:

表中資料VAC_PERIODOCIA:

我想顯示所有公司(COMPANIA)和(vac_aplica列)中搜索的值Periodo,無論它們是否已注冊。
我試過這個:
SELECT
COMPANIA.CIA_CLAVE, COMPANIA.CIA_NOM,
CASE
WHEN VAC_PERIODOCIA.VAC_APLICA IS NULL
THEN 'N'
ELSE 'Y'
END VAC_APLICA
FROM
COMPANIA
LEFT JOIN
VAC_PERIODOCIA ON COMPANIA.CIA_CLAVE = VAC_PERIODOCIA.CIA_CLAVE
WHERE
VAC_PERIODOCIA.PERIODO = '2018 - 2019'
結果:

我想要的是這樣的:

uj5u.com熱心網友回復:
首先,問題是一團糟:問題中的表格和列以及您提供給我們的示例是不同的。請解決這個問題。
我不會說西班牙語,所以我只能假設 VAC_PERIODICA 是 Periodo。在這種情況下,您需要將 where 條件中的內容移至 join 子句。像這樣
SELECT COMPANIA.CIA_CLAVE,COMPANIA.CIA_NOM,
CASE
WHEN Periodo.valor IS NULL THEN 'N'
ELSE 'Y'
END VAC_APLICA
FROM Compania
LEFT JOIN Periodo
ON COMPANIA.CIA_CLAVE = Periodo.valor
AND Periodo.PERIODO = '2018 - 2019'
order by 1
小提琴手
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472529.html
上一篇:在兩者之間捕獲字串
