mysql - 我将如何纠正这个 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:这是我的顶峰,感谢大家的帮助!
解决方案
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
推荐阅读
- ios - 为什么我们在主线程上使用异步
- python - 如何将过滤后的 Dropbox 用于我的外部数据库值
- python - 如何摆脱终端中显示的(基本)环境前缀
- r - 用不同的 y 轴重叠和交错两个图
- javascript - 为什么不推荐使用这种方法来检查 chai 中的 lengthOf() 数组?
- python - 如何将检查点转换为 .pb 模型以进行模型部署?
- gcc - OpenMP 编译指示转换为运行时调用
- javascript - 如何禁用“重新加载站点?您所做的更改可能不会被保存”弹出(python)硒测试在chrome中?
- angular7 - 我想在 Angular 7 的材料数据表中同时应用搜索和日期范围过滤器
- qt - QThread 的started() 信号没有发出