2013-11-30 2 views
0

Я хочу получить конкретные значения столбцов из одной таблицы и использовать эти значения для получения информации из другой таблицы.Инструкция MYSQL IN с значениями столбцов из другой таблицы

Я буду использовать этот пример: таблицы table1 и table2 содержат строки с столбцом «name».

Я хочу выбрать значения всех столбцов «имя» из условий собрания1, а затем выбрать строки из таблицы2, содержащие какие-либо имена, выбранные из таблицы1. Основная идея приведена ниже.

SELECT `name` FROM table1 WHERE... 
SELECT `name` FROM table2 WHERE `name` IN(names from the above query) 

Надеюсь, это ясно, спасибо.

+0

@KayKay Я не так, как вы идете по поводу SELECT из одной таблицы и используя эти результаты для SELECT из другой таблицы, все в одном запросе. – user2923125

+0

Хотя вы действительно можете сделать это с помощью SELECT внутри предложения IN, было бы гораздо лучше сделать это с помощью JOIN. –

ответ

1

Просто «впрыснуть» свой первый запрос в второй:

SELECT name FROM table2 WHERE name IN(SELECT name FROM table1 WHERE...) 
+0

работал спасибо !! – user2923125

0

Помимо ответа от KayKay вы также можете использовать EXISTS:

SELECT name FROM table2 t2 
WHERE EXISTS(SELECT 1 
       FROM table t1 
       WHERE t2.name = t1.name) 
Смежные вопросы