2015-07-28 4 views
2

мне нужен запрос, который выглядит следующим образом для MySQL:?SELECT * FROM table_name WHERE column_name как% значение% IN (SELECT ...

SELECT * FROM table_name 
WHERE column_name like %value% 
    IN (SELECT * FROM table_name WHERE column_name like %second_value%) 

Как я могу это сделать

? Спасибо!

+0

Можете ли вы объяснить, что вы хотите сделать с примером? – Jens

ответ

3

Как я понимаю ваш вопрос правильно, ваш запрос должен быть:

SELECT * FROM table_name 
WHERE column_name like '%value%' and column_name like '%second_value%' 
2

вы не можете выбрать несколько столбцов из вложенного запроса IN. вы можете только выбрать один столбец.

Я полагаю, вы хотите, чтобы выбрать column_name из вложенного запроса.

SELECT * FROM table_name WHERE column_name like '%value%' IN 
(SELECT column_name FROM table_name WHERE column_name like '%value%') 
//  ^^^^^^^^^^^ 
+0

@Jens Можете ли вы объяснить, почему? – Tushar

+0

Сначала% vaue% должно быть в одинарных кавычках, и вы не можете иметь двух операторов для одного столбца. – Jens

+0

Подзапрос не является избыточным. Существует условие 'other_column_name like% second_value%' – Jens

Смежные вопросы