我正在尝试使用多个表格创建搜索表单。
我的问题在于“名称AS名称*”部分,它不会使用名称作为名称,同时在表格中找到所有内容。
这是我的SQL查询:
SELECT name AS name, * FROM files_plus WHERE name LIKE '%$query%'
UNION ALL
SELECT username AS name FROM users WHERE username LIKE '%$query%'
LIMIT 5
答案 0 :(得分:0)
" SELECT name AS name"与" SELECT name FROM ...."相同。其次," SELECT name ..."是" SELECT * FROM ..."的一部分。写一些像" SELECT * FROM ..."并且您可以毫无困难地检索您的信息
答案 1 :(得分:0)
您需要首先联合名称,然后执行LEFT JOIN
以获取files_plus
中的其他列:
SELECT * FROM
(SELECT name AS name FROM files_plus WHERE name LIKE '%$query%'
UNION ALL
SELECT username AS name FROM users WHERE username LIKE '%$query%' )
AS names
LEFT JOIN files_plus ON names.name = files_plus.name
您name
会有一个重复的列,但您可能会在原始查询中使用该列。