выбрать из таблицы с результатом другого sql - PullRequest
2 голосов
/ 02 марта 2010

Возможно ли это?

tag_table:

tag        postid
aa          22  
bb          26  
cc          28  

post_table:

id          content
26            abc  
28            cdf  
22            fds  

и я хочу выбрать из post_table с результатом поиска в tag_table

мой скрипт: первый

SELECT postid FROM `tag_table` WHERE `tag` LIKE '%aa%'

и поместить результаты в массив, затем снова запустить sql

foreach ($postids as $key => $post_id) {
$sql .= "`id` = $post_id or";
}

и $ sql

SELECT * FROM `post_table` WHERE `id` = 22     or etc 

и я хочу сделать это одним кодом SQL это возможно?

1 Ответ

8 голосов
/ 02 марта 2010

Вы можете использовать подзапрос и оператор IN следующим образом:

SELECT * 
FROM `post_table` 
WHERE `id` IN (SELECT `postid`
               FROM `tag_table`
               WHERE `tag` LIKE '%aa%')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...