Mysql Inner加入两个表

时间:2016-01-23 00:16:00

标签: mysql

我有两个表进位和交易,并且想要从交易表中选择成员记录,其中目的= 5基于带有left_carry或右进位的进位表中的相同成员ID!= 0。

我尝试使用sql,但从事务表中获取重复的多用途数据。结果如链接:http://prntscr.com/9tles2

我的代码是:

select distinct c.member_id,c.left_carry,c.middle_carry, t.purpose 
from carry c
inner join transactions t on t.member_id = c.member_id
where c.left_carry != 0 or c.middle_carry != 0 and t.purpose = 1

1 个答案:

答案 0 :(得分:1)

混合OR和AND可能会有点混乱。最好添加一些括号,以明确其意图。

这应该可以解决您的问题

select distinct c.member_id,c.left_carry,c.middle_carry, t.purpose 
from carry c
  inner join transactions t on t.member_id = c.member_id
where (   c.left_carry != 0 
       or c.middle_carry != 0) 
  and t.purpose = 1