SQL-фильтрация запросов;как включить что-то для одной страны (Франция), но не для других (отдельные европейские страны) - PullRequest
0 голосов
/ 28 января 2019

Скажем, у меня есть 5 стран и некоторые их отрасли промышленности в таблице с именем country_data

Страна Поле: Португалия, Франция, Италия, Германия, Испания

Промышленность Область: вино, сыр, пиво

Но я хочу включить только «Сыр» для Франции.Как отфильтровать его для других стран, в то же время включив его для Франции?

Я пытаюсь использовать CASE, но он не работает, как планировалось

Спасибо

SELECT country, 
       industry
FROM country_data
WHERE (

    industry = 'Wine' OR
    industry = 'Beer' OR
    CASE WHEN country = 'France' THEN industry = 'Cheese' ELSE null 
    END

)

Ожидаемый результат - вино и пиво для всех стран, но только сыр для Франции

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Бармар помог мне с этим ответом.

SELECT country, 
       industry
FROM country_data
WHERE (

    industry = 'Wine' OR
    industry = 'Beer' OR
    (country = 'France' and industry = 'Cheese')

)
0 голосов
/ 28 января 2019

Существует 2 различных условия, и они должны сочетаться с ИЛИ:

SELECT 
  country, 
  industry
FROM country_data
WHERE 
  country = 'France' 
  OR
  (country <> 'France' AND industry <> 'Cheese') 

или эквивалентным:

SELECT 
  country, 
  industry
FROM country_data
WHERE 
  country = 'France' OR industry <> 'Cheese' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...