MYSQL联合所有别名
我正在尝试查找应用程序表中存在的所有应用程序,这些应用程序尚未在审阅表中进行审阅MYSQL联合所有别名,mysql,union,alias,Mysql,Union,Alias,我正在尝试查找应用程序表中存在的所有应用程序,这些应用程序尚未在审阅表中进行审阅 SELECT * FROM ( SELECT app_id FROM apps UNION ALL SELECT app_id FROM reviews ) GROUP BY app_id HAVING COUNT(*) = 1 在找到哪些应用程序没有审核后,我希望获得app表中的所有值,以便列出仍然需要审核的应
SELECT *
FROM (
SELECT app_id FROM apps
UNION ALL
SELECT app_id FROM reviews
)
GROUP BY app_id
HAVING COUNT(*) = 1
在找到哪些应用程序没有审核后,我希望获得app表中的所有值,以便列出仍然需要审核的应用程序。app_id对应于apps表中应用程序信息的键,当对应用程序进行审核时,app_id将与评论和其相关字段中的排名一起输入app_id下的审核表
我遇到了这个错误,似乎不知道如何正确添加别名
每个派生表都必须有自己的别名
错误很明显,请向该表添加别名:
SELECT *
FROM
(
SELECT app_id FROM apps
UNION ALL
SELECT app_id FROM reviews
) AS t -- < -------------- this
GROUP BY app_id
HAVING COUNT(*) = 1;
注意:不推荐使用SELECT*的GROUP BY,并且它不符合ANSI SQL。它在mysql中可以正常工作,但不要将不在GROUPBY或聚合函数中的列放在SELECT子句中。MySQL将为您的案例中的这些列获取任意值。您的问题通常使用左外连接或不在中来回答:
select a.*
from apps a left outer join
reviews r
on a.app_id = r.app_id
where r.app_id is null