我正在尝试创建一个搜索引擎,通过使用两个表中的值来过滤和预先搜索。
我设法通过将两个表连接在一起来创建一个临时表。但是,我无法想办法让mysql查询从临时表中搜索。
$search_query = mysql_query("SELECT first_name, last_name, major, location, class_of, campus, avatar, state, country
FROM ('SELECT users.first_name, users.last_name, users.location, users.country, tags_game.name, tags_interest.name, tags_movie.name FROM users, tags_game, tags_interest, tags_movie WHERE users.id IN (tags_game.relation, tags_interest.relation, tags_movie.relation)')
somealias
WHERE first_name LIKE '{$first_name}%' &&
location LIKE '{$location}%' &&
state LIKE '{$state}%' &&
country LIKE '{$country}%'
然而,这不起作用。如何在其他查询中使用/调用临时表?
答案 0 :(得分:0)
子查询需要一个别名,否则它将无效。这将返回1:
SELECT test from -- or fully qualified : aliasname.test
(SELECT 1 as test) aliasname
WHERE test>0
所以我认为你需要类似的东西:
mysql_query("SELECT something_1, something_2 . . . FROM
(SELECT table1.something_1, table2.something_2 . . .) somealias WHERE . . .");