首页 新闻 会员 周边

sqlserver左连接效率问题

0
悬赏园豆:5 [待解决问题]

例如有二张表

user  用户表

列:userId(主键),name,qq,email,tel

pay 付款表

payId(主键),userId,money

现在我通过用户表去left join付款表

select name,(case when b.payId is null then 0 else 1 end) isPaid from user a 

left join pay b

on a.userId=b.userId

where isPaid=(0或者1)

然后我使用ADO去执行这句sql,发现isPaid=0的时候,查询卡死,如果是isPaid=1的时候是正常的。

 

很不理解为什么没数据的时候 会卡死,在数据库查询正常,但是在ado.net执行的时候,会卡

跪求大佬解答

又是没有bug的一天的主页 又是没有bug的一天 | 初学一级 | 园豆:149
提问于:2018-04-18 12:59
< >
分享
所有回答(1)
0

这个写的有问题的吧,where后面能跟你重新命名的列名吗?  where isnull(b.payId,0)=1  这样试试应该不会报错。。。。

华临天下 | 园豆:1501 (小虾三级) | 2018-04-18 13:54

 

这个isPaid等于0的时候,c#使用ADO去查会卡死,等于的1的时候正常

 

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2018-04-18 14:02

@waitforjuan: SQL执行没问题的话,那有可能是代码写的有问题。。。。

支持(0) 反对(0) 华临天下 | 园豆:1501 (小虾三级) | 2018-04-18 14:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册