Выборка из двух таблиц, при совпадении нескольких параметров в одной колонке - 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')
Объяснение кода листинга программы
В представленном коде выполняется запрос к двум таблицам с условием на совпадение значений в одной колонке.
tab2
- название таблицы, из которой производится выборкаtest_id
- название колонки, значения которой сравниваются на совпадение- '1' - первое значение, которое должно совпасть с данными в колонке
test_id
- '3' - второе значение, которое должно совпасть с данными в колонке
test_id
- '5' - третье значение, которое должно совпасть с данными в колонке
test_id
Данное условие означает, что выборка будет выполнена только в том случае, если в колонкеtest_id
таблицыtab2
имеются значения '1', '3' или '5'.