带有“*”的SQL“AS”语句

时间:2017-08-04 21:07:51

标签: sql

我正在尝试使用多个表格创建搜索表单。

我的问题在于“名称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

2 个答案:

答案 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会有一个重复的列,但您可能会在原始查询中使用该列。