首页 > 解决方案 > 我将如何纠正这个 SQL/MYSQL FULL 外连接问题?

问题描述

`SELECT leaderstbl.lfname AS leaders, IF(COUNT(vfname)>1,COUNT(vfname),0) AS followers, IF(COUNT(household)>1,COUNT(household),0) AS household FROM votersinfotbl WHERE vleaders IN (SELECT vleaders FROM votersinfotbl WHERE vaddress = 'ABACA') AND vleaders NOT IN ('NONE', 'none', 'None', '') AND vaddress = 'ABACA' AND household IN (SELECT vleaders FROM votersinfotbl WHERE vaddress = 'ABACA')

FULL OUTER JOIN leaderstbl ON votersinfotbl.lfname=leaderstbl.lfname
GROUP BY leaderstbl.lfname ORDER BY vleaders ASC` 

先生,我的查询似乎是什么问题?

它显示此错误:

1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 3 行的“FULL OUTER JOIN leadertbl ON votersinfotbl.lfname=leaderstbl.lfname GROUP BY l”附近使用正确的语法

我有麻烦有人可以帮助我吗?

PS:这是我的顶峰,感谢大家的帮助!

标签: mysqlsql

解决方案


mysql没有完全外连接,你可以做两次左连接或左右连接和联合,实际上就像完全外连接一样工作

select col1..coln from table1 t1 left join table2 t2 on t1.col=t2.col
union
select col1..coln from table2 t2 left join table1 t1 on t1.col=t2.col

或者

select col1..coln from table1 t1 left join table2 t2 on t1.col=t2.col
union
select col1..coln from table1 t1 right join table2 t2 on t1.col=t2.col

推荐阅读