* Предполагая, что это MySql таблицу:Использование IN в котором положение
id | group | members
1 | blue | Bob
2 | red | Tom
3 |green | Maria
4 |blue | Maria
5 |red | Bob
6 |red | Maria
7 |yellow | Bob
Как я могу запросить эту таблицу, чтобы получить строки, где члены находятся как в группе «синий» и «зеленый
Использование "In" в котором пункт не работает для меня
Ожидаемый результат:. "Мария"
Edit:
Возможно, я нашел что-то ... Если я использую переменную n в моем массиве «IN», поэтому я должен использовать то же значение n в части «HAVING». Пробовал с этим утверждением и, похоже, работает. (комментарии оцениваются)
SELECT id,members FROM my_table WHERE `team` IN('blue', 'red', 'green') GROUP BY members HAVING COUNT(DISTINCT team) >= 3
Что вы думаете?
показать запрос, который вы пробовали –
Какой запрос вы пробовали? – TZHX
@ Жан-FrançoisSavard, @juergen_d, @TZHX Вот мой SQL заявление: ВЫБРАТЬ идентификатор, член ОТ \t my_table в е КУДА группа В ('синий', 'зеленый') GROUP BY \t членов HAVING COUNT (DISTINCT 'group')> = 2 Ваше заявление в порядке, если в предложении« IN »есть только 2 переменных. Но если я добавлю в него третью переменную, я не получу то, что ожидаю. Я имею в виду, я ожидаю получить 0 строк. – angeltcho