查询的数不对.
建议把sql单独写出来执行,不要放在代码里,把查询的一些无关字段先去掉吧,表起个别名好点吧,这样看着太累。。。
兄弟,很难看啊,
select 字段
from 表1 as A
left join 表2 as B
......
我没看出你的sql语句有哪里不对,建议写清楚点,
或者罗列出 A表,B表的一些数据,以及你想要查询出来的结果,【查询的数不对】是什么意思?
难道说你想查一条记录,结果出来N条记录?
可能是这样,
A表【主表】
main_id=1,编号=A000001
B表【子表】
child_id=1,main_id=1,数量=10个
child_id=2,main_id=1,数量=20个
child_id=3,main_id=1,数量=30个
......
你想查询出来一条记录,
select *
from 表1 as A
left join 表2 as B ON A.main_id=B.main_id
这样的话,结果只能是三条记录
你这个不对, 是查询数据量多了还是少了?
问题要描述清楚别人才能解答啊
估计是有重复数据对吧
不知道你的数据不对是什么意思,可以一步一步查,看看数据是从哪一个表关联时出错的,这样排除会比较快
有重复数据 语句最好用存储过程进行编写
https://www.cnblogs.com/GumpYan/archive/2016/11.html
主要是看需求是什么样的才能行呀,语句怎么写要看需求
关联问题先考虑数据准确性再考虑效率。准确性一般就是指数据是否翻倍或缺失,翻倍的原因一般就是关联条件少或者是主表或者副表口径问题。缺失一般是主副表颠倒。你这个sql第一个问题就是没有给表起别名,还有就是你这么写很乱,没啥“卖相”,这是个人习惯,必须得改!效率问题就是,你前面列出来的字段占你表的比例是多少?是否考虑把数据拉到一个临时表再关联?数据量是优化首要考虑的,还有这几个表的数据量,以及关联顺序,映射关系。保证数据正确之后尝试查看执行计划,看看扫多少块...
可能查询的字段重复了