Для поиска несколько значений в столбце можно использовать IN
оператор, как показано нижеSQL - поиск нескольких значений в нескольких большом количестве столбцов
SELECT * FROM some_table WHERE some_col IN ('v', 'a', 'l', 'u', 'e' , 's');
Однако есть способ поиска несколько значений в нескольких столбцах? В качестве примера - хотите выбрать строки, где any
col1, col2, ..col100 что-то соответствует ('v', 'a', 'l', 'u', 'e', 's')
Обновление : -
В то время как ответ below от @Gordon будет работать, сценарий - это число, в котором много столбцов - есть ли способ сделать это без необходимости повторять инструкцию IN для каждого столбца?
Если все COLS col1, col2 .. соответствовать некоторое значение ('v', 'a' ..) или любое совпадение? –
Любой - ИЛИ является хорошим – user3206440
Если вам не нужна скорость: 'select * from your_table, где avals (hstore (your_table)) && array ['v', 'a', 'l', 'u', 'e ',' s ']; 'Читайте об [hstore extension] (https://www.postgresql.org/docs/current/static/hstore.html) и о [операторы массива] (https: //www.postgresql. org/docs/current/static/functions-array.html) – Abelisto