使用If条件选择多个字段,在mysql中使用左连接 – 抛出错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用If条件选择多个字段,在mysql中使用左连接 – 抛出错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1613字,纯文字阅读大概需要3分钟。
内容图文
![使用If条件选择多个字段,在mysql中使用左连接 – 抛出错误](/upload/InfoBanner/zyjiaocheng/898/5b8e8ddb1a704d06b81a40e1388105ea.jpg)
任何帮助表示赞赏 –
1064 – 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以获得正确的语法,在’as receiverimage附近使用,re.fName作为receiverfName,re.lName作为receiverlName,re.add’在行
SELECT co.*,
if(( co.senderid = 1) , ( re.image as receiverimage, re.fName as receiverfName , re.lName as receiverlName , re.address as receiverAddress , re.city as receivercity , re.state as receiverstate, re.country as receivercountry, re.zipCode as receiverzip),(se.address as senderAddress,se.city as sendercity , se.state as senderstate , se.country as sendercountry , se.zipCode as senderzip , se.image as senderimage ,se.fName as senderfName, se.lName as senderlName ))
FROM contacts as co
LEFT JOIN users as se ON( se.id = co.senderid )
LEFT JOIN users as re ON( re.id = co.receiverid )
where (senderid = 1 OR receiverid = 1)
– 选择连接表上的多个字段是无效还是其他?
我无法弄清楚确切的原因,基本概率.这里是根据基于连接的用户表中的条件选择几个字段.
解决方法:
您似乎不能在if语句中使用别名.我刚刚测试了您的查询,并删除了别名,解决了问题.
if((co.senderid = 1),(re.image,re.fName,re.lName,re.address,re.city,re.state,re.country,re.zipCode),(se.address,se .city,se.state,se.country,se.zipCode,se.image,se.fName,se.lName))AS mydata
编辑:您还应该为整个IF添加别名,这样您就不会将表达式作为列名称:)
编辑2:对不起,我写得太快了.您无法在选择中选择这样的多行.如果需要该数据,则必须编写子查询,或者为所需的每列添加if.
IF(co.senderid = 1, re.image, se.address,) as col1
IF(co.senderid = 1, re.fName, se.city) as col2
IF(co.senderid = 1, re.lName, se.state) as col3
IF(co.senderid = 1, re.address, se.country) as col4
等等……你明白了:)
内容总结
以上是互联网集市为您收集整理的使用If条件选择多个字段,在mysql中使用左连接 – 抛出错误全部内容,希望文章能够帮你解决使用If条件选择多个字段,在mysql中使用左连接 – 抛出错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。