Topic: SQL запрос

Ув. Дмитрий. У меня такой запрос:

Select
hamagi.lastname,
hamagi.firstname,
hamagi.fathername,
shuba.shuba_id

from hamagi

Left outer join shuba on hamagi.id_shuba=shuba.id
where hamagi.id_shuba = {ComboBox4}

Этот запрос вставлен на кнопку и при его нажатии в таблице выходят записи.
Теперь вот такой вопрос. Если в комбо4 я ничего не выбираю то и в таблмце ничего не показывается.
Надо чтобы при выборе в комбо4 записи в таблице были отфилтрованные записи по комбо4, а если в комбо ничего не выбрано то показались все записи. Как это реализовать?

Re: SQL запрос

попробуйте так

SELECT
hamagi.lastname,
hamagi.firstname,
hamagi.fathername,
shuba.shuba_id

FROM hamagi

LEFT OUTER JOIN shuba ON hamagi.id_shuba=shuba.id

WHERE
(CASE WHEN {ComboBox4}=-1 then 1=1 else hamagi.id_shuba = {ComboBox4} end)
Dmitry.

3 (edited by pha1984 2015-11-25 05:59:01)

Re: SQL запрос

спс заработало но я добавил еще и другие столбцы, но выдает ошибку, вот как выглядит

Select
hamagi.lastname,
hamagi.firstname,
hamagi.fathername,
hamagi.DateofBirth,
hamagi.Address,
hamagi.University,
hamagi.GraduateYear,
hamagi.NDiplom,
hamagi.DarajanokiYear,
hamagi.USOYear,
hamagi.Phone,
hamagi.IxtisosDiplom,
hamagi.Staj,
hamagi.NPassport,
hamagi.NINN,
hamagi.DateofFarmon,
hamagi.NFarmon,
hamagi.NSIN,
hamagi.Staj_umumi,
shuba.shuba_id
vazifa.vazifa_id

from hamagi

Left outer join shuba on hamagi.id_shuba=shuba.id
Left outer join vazifa on hamagi.id_vazifa=vazifa.id
WHERE
(CASE WHEN {ComboBox4}=-1 then 1=1 else hamagi.id_shuba = {ComboBox4} end) AND
(CASE WHEN {ComboBox5}=-1 then 1=1 else hamagi.id_vazifa = {ComboBox5} end)