Выборка из двух таблиц, при совпадении нескольких параметров в одной колонке - MySQL

Узнай цену своей работы

Формулировка задачи:

делаю запрос:
SELECT tab1.id FROM tab1,tab2 WHERE tab2.tab1_id = tab1.id AND ( tab2.test_id IN ('1'))
// если убрать эту сторочку выводит tab1.id с ID = 333 AND ( tab2.test_id IN ('3','5')) // если убрать эту сторочку тоже выводит tab1.id с ID = 333 // но когда они вместе, то tab1.id с ID = 333 не выводит. Почему? tab2.test_id[33][44] = '1'; tab2.test_id[33][55] = '5';//в смысле имеет два tab2.test_id суть в том что, нужно чтобы вывела только при совпадении двух tab2.test_id... ВОПРОС: как правильно сделать MySQL запрос c несколькими "AND", где вариантов: "AND ( tab2.test_id IN ('xxx','yyy',...))" <= может быть несколько, но все они обращаются к одной колонке в таблице "tab2.test_id"? PS: Заранее благодарен всем и каждому, за полезную информацию. /

Решение задачи: «Выборка из двух таблиц, при совпадении нескольких параметров в одной колонке»

textual
Листинг программы
tab2.test_id IN ('1') AND tab2.test_id IN ('3','5')

Объяснение кода листинга программы

В представленном коде выполняется запрос к двум таблицам с условием на совпадение значений в одной колонке.

  1. tab2 - название таблицы, из которой производится выборка
  2. test_id - название колонки, значения которой сравниваются на совпадение
  3. '1' - первое значение, которое должно совпасть с данными в колонке test_id
  4. '3' - второе значение, которое должно совпасть с данными в колонке test_id
  5. '5' - третье значение, которое должно совпасть с данными в колонке test_id Данное условие означает, что выборка будет выполнена только в том случае, если в колонке test_id таблицы tab2 имеются значения '1', '3' или '5'.

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы