sql遇到的坑总结
2018-03-23 13:08
155 查看
1. 今天在做left join关联查询时候,有如下sql, 我想拉出app列表,并且要显示出当前用户在每个app里面声望值,后来发现查询为空,很疑惑即使右表没有符合条件的数据,left join是会把左表的数据全部返回的啊,为什么为空呢,找了半天原因就在kmta.account_address = #{accountAddress}这里,这个sql在kaa.effective=1之上部分执行是会有结果的,where里面的条件是对整个left join结果之后做了条件限制,#{accountAddress}在kmta里面不存在,那么在left join之后的结果也是不存在,加上条件必然为空了。SELECT
kaa.app_icon appIcon,
kaa.app_name appName,
cast(score / 10 AS DECIMAL(2, 1)) myScore,
kaa.app_describe appDescribe,
kaa.download,
kaa.appPackageName,
kaa.iosPackageName,
kaa.app_intro appIntro,
kaa.app_img appImg
FROM
kyc_app_auth kaa
LEFT JOIN kyc_mock_transaction_app kmta ON kaa.id = kmta.app_id
WHERE
kaa.effective = 1
AND kmta.account_address = #{accountAddress}做了如下修改,把accountAddress的限制放在内部:
SELECT
kaa.app_icon appIcon,
kaa.app_name appName,
cast(score / 10 AS DECIMAL(2, 1)) myScore,
kaa.app_describe appDescribe,
kaa.download,
kaa.appPackageName,
kaa.iosPackageName,
kaa.app_intro appIntro,
kaa.app_img appImg
FROM
kyc_app_auth kaa
LEFT JOIN (
SELECT
*
FROM
kyc_mock_transaction_app kmta
WHERE
kmta.account_address = #{accountAddress})
km ON kaa.id = km.app_id
WHERE
kaa.effective = 1
kaa.app_icon appIcon,
kaa.app_name appName,
cast(score / 10 AS DECIMAL(2, 1)) myScore,
kaa.app_describe appDescribe,
kaa.download,
kaa.appPackageName,
kaa.iosPackageName,
kaa.app_intro appIntro,
kaa.app_img appImg
FROM
kyc_app_auth kaa
LEFT JOIN kyc_mock_transaction_app kmta ON kaa.id = kmta.app_id
WHERE
kaa.effective = 1
AND kmta.account_address = #{accountAddress}做了如下修改,把accountAddress的限制放在内部:
SELECT
kaa.app_icon appIcon,
kaa.app_name appName,
cast(score / 10 AS DECIMAL(2, 1)) myScore,
kaa.app_describe appDescribe,
kaa.download,
kaa.appPackageName,
kaa.iosPackageName,
kaa.app_intro appIntro,
kaa.app_img appImg
FROM
kyc_app_auth kaa
LEFT JOIN (
SELECT
*
FROM
kyc_mock_transaction_app kmta
WHERE
kmta.account_address = #{accountAddress})
km ON kaa.id = km.app_id
WHERE
kaa.effective = 1
相关文章推荐
- 初学ASP.NET(+SQL+IIS ) 时遇到的一系列错误总结
- PL/SQL连接Linux服务器Oracle遇到的问题总结
- ArcSDE 10 for Microsoft SQL Server 2008安装以及导入数据遇到的问题总结
- 总结学习搭建SSM 遇到的问题(MyEclipse + SqlServer 2008 + Maven )
- ArcSDE 10 for Microsoft SQL Server 2008安装以及导入数据遇到的问题总结
- sqlplus编程初学-CURSOR运用中遇到的问题总结
- My SQL load data infile 遇到的问题总结
- 今天遇到的SQL超时的总结
- 编程中遇到的SQL困惑总结
- hive学习之二:hive sql使用总结及遇到的问题
- SQL语法的重要知识点总结
- SQL回炉之一:单表操作、函数总结
- 工作中遇到的一些问题总结(一)
- sql 总结
- 学习javaSE基础中遇到的一些难点的总结
- SQL日期和时间函数总结
- 常用SQL语句总结
- SQL的一点总结(持续更新。。。)
- sql server Oracle 一点小知识总结(获取当前时间)
- MyBatis总结——动态SQL