У меня есть запрос, который выглядит следующим образом:MySQL Select с тем, где условие основано на количестве
SELECT * FROM `bas_HCCxmlSettings`
WHERE `waarde3` = 'Oke'
OR `waarde4` = 'Oke'
AND `config` = 'XMLserver'
Теперь я хочу добавить особые условия, если счетчик waarde2 != 0
то условие waarde2 = 'int'
еще waarde2 = 'ext'
это то, что Я пробовал:
попробовать 1:
SELECT * FROM `bas_HCCxmlSettings`
WHERE `waarde3` = 'Oke'
OR `waarde4` = 'Oke'
AND `config` = 'XMLserver'
AND `waarde2`=
(
(
SELECT count(*)
FROM `bas_HCCxmlSettings`
WHERE `config` = 'XMLserver' AND`waarde2`= 'int' AND
(`waarde3` = 'Oke'
OR `waarde4` = 'Oke'
)
) > 0
,'int'
,'ext'
)
try2:
if (SELECT count(*) FROM `bas_HCCxmlSettings` WHERE `waarde2`= 'int' AND (`waarde4` = 'Oke' OR `waarde3`= 'Oke')) > 0
THEN
SELECT count(*) FROM `bas_HCCxmlSettings` WHERE `waarde2`= 'int' AND (`waarde4` = 'Oke' OR `waarde3`= 'Oke')
else
SELECT count(*) FROM `bas_HCCxmlSettings` WHERE `waarde2`= 'ext' AND (`waarde4` = 'Oke' OR `waarde3`= 'Oke')
END
Что я делаю неправильно?
некоторые разъяснения в моих критериев запроса для основного запроса
Критерии selecetion должны быть: 1. конфигурации = «XMLserver» 2. Waarde3 или waarde4 или как быть муз «Оке»
запроса для без waard2 в качестве критериев будет:
SELECT * FROM `bas_HCCxmlSettings`
WHERE `config` = 'XMLserver'
AND`waarde2`= 'int'
AND (
`waarde3` = 'Oke'
OR
`waarde4` = 'Oke'
)
для отсрочки значения waarde2 моих requerments выбора является:
- конфиг = 'XMLserver'
- waarde2 = INT
- Waarde3 или waarde4 или оба должны быть 'ОЭК'
Количество запросов будет затем:
SELECT count(*) FROM `bas_HCCxmlSettings`
WHERE `config` = 'XMLserver'
AND`waarde2`= 'int'
AND (
`waarde3` = 'Oke'
OR
`waarde4` = 'Oke'
)
Если подсчет этого выбора равен 0, тогда waarde = ext Если подсчет этого выбора равен lager, то 0 waarde = int
Первое, что я заметил, что вы хотите добавить условие waarde2' = 0, однако у вас есть> 0 условие в try1 и try2 –
Что вы имеете в виду! 'если счет waarde2! = 0'? 'waarde2' - это столбец. Вы хотите посчитать, есть ли в списке один раз 'waarde2 = 'int''? –
Обратите внимание, что вам нужны скобки, чтобы ваша работа 'OR' работала так, как вы этого хотите. т.е. «A OR B AND C» анализируется как «A ИЛИ (B И C)« не »(A ИЛИ B) И C' – Bohemian