mysql按子查询结果过滤

标签 mysql sql select where-clause inner-query

我有这个查询:

SELECT a.*, a.id AS id_player, (SELECT COUNT(id) FROM `vd7qw_footsal_goals` WHERE a.id = id_player AND g.id = id_group) AS goals, 
team.* FROM `vd7qw_footsal_players` AS a 

LEFT JOIN vd7qw_footsal_teams AS team ON team.id= a.id_team

LEFT JOIN vd7qw_footsal_teamofgroup AS tog ON tog.id_team = team.id 4

LEFT JOIN vd7qw_footsal_groups AS g ON g.id = tog.id_group
WHERE g.id IN (SELECT id_group from `vd7qw_footsal_groupofleague` WHERE id_league = 2) 
AND (a.state IN (1)) AND goals > 0 ORDER BY goals DESC

我想按有目标的玩家过滤其结果

上面的查询在这部分有错误goals > 0我不知道该怎么做,any1可以帮助我吗?

最佳答案

试试这个:

SELECT * FROM 
(SELECT a.*, a.id AS id_player, (SELECT COUNT(id) FROM `vd7qw_footsal_goals` WHERE a.id = id_player AND g.id = id_group) AS goals, 
team.* FROM `vd7qw_footsal_players` AS a 

LEFT JOIN vd7qw_footsal_teams AS team ON team.id= a.id_team

LEFT JOIN vd7qw_footsal_teamofgroup AS tog ON tog.id_team = team.id 4

LEFT JOIN vd7qw_footsal_groups AS g ON g.id = tog.id_group
WHERE g.id IN (SELECT id_group FROM `vd7qw_footsal_groupofleague` WHERE id_league = 2) 
AND (a.state IN (1))) AS A WHERE goals > 0 ORDER BY goals DESC

关于mysql按子查询结果过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585056/

相关文章:

mysql - 使用 NOT EXISTS 选择所有成员

c# - 当父子在同一个表中时如何从数据库加载数据到TreeView

sql - 如何使用计算列来计算同一 View 中的另一列

MySQL IF EXISTS 不工作

jquery - ReactJS 的 setState 与选择下拉菜单混淆

mysql - SQL 获取非规范化表中某指定信息对应的第一个字段

javascript - 根据键值对选择json对象

mysql - WHERE NOT EXISTS 语句之后的 SQL AND

php - 带有红色错误消息的表单验证不起作用(php、ajax、jquery 和 mysql)

sql - Oracle 动态透视