GOOGLE ADS

пятница, 13 мая 2022 г.

Показывать данные из таблицы, даже если данных нет

У меня есть 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'

Результат:

введите описание изображения здесь

Я хочу вот что:

введите описание изображения здесь


Решение проблемы

Прежде всего, вопрос беспорядок: таблицы и столбцы из вопроса и примеров, которые вы нам предоставили, отличаются. Пожалуйста, исправьте это.

Я не говорю по-испански, поэтому могу только предположить, что VAC_PERIODICA — это Periodo. В этом случае вам нужно переместить то, что у вас есть в условии, в предложение соединения. Как это

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

dbfiddle

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...