想请教下,这条SQL语句有什么问题

z_618 2010-03-12 10:24:16
select * from member_table where service_id <>0 and (member_id not in (SELECT A.user_email
FROM `msgbook` A, member_table B
WHERE A.user_email = B.member_id
GROUP BY A.user_email))

其中b.member_id 是用EMAIL来填写的,我查找的时候:SELECT A.user_email
FROM `msgbook` A, en_member_table B
WHERE A.user_email = B.member_id
GROUP BY A.user_email
是没有问题的,
但是放一块之后就执行不了了
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-03-12
  • 打赏
  • 举报
回复


select * 
from member_table b left join user_email a on A.user_email = B.member_id
where a.user_email is null


或者
select *
from member_table
where not exists (select 1 from user_email where user_email=member_table.member_id)


建议在user_email表中添加user_email的索引以提高速度

当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
z_618 2010-03-12
  • 打赏
  • 举报
回复
如果 select * from member_table where service_id <>0 and (member_id not in (SELECT A.user_email
FROM `msgbook` A, member_table B
WHERE A.user_email = B.member_id
GROUP BY A.user_email))

中把 NOT 去掉 ,可以进行查询,但是很慢,需要22多秒,加上NOT之后数据库就崩了,
z_618 2010-03-12
  • 打赏
  • 举报
回复
我的本意是从 member_table 中过滤掉 msgbook 中已经存在的EMAIL的
z_618 2010-03-12
  • 打赏
  • 举报
回复
就是慢,最后把数据库查崩了,
ACMAIN_CHM 2010-03-12
  • 打赏
  • 举报
回复
[Quote]但是放一块之后就执行不了了[/Quote]错误提示是什么?
z_618 2010-03-12
  • 打赏
  • 举报
回复
我现在没法确定查出的数据就是对的

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧