包括一些值并从字段中排除其他值

时间:2017-02-13 10:44:22

标签: mysql

该表可以为成员提供多个条目 - 即他可以是多个组的成员。我希望包括所有那些开始'cr'的团体的成员,但是从列表中排除那些也是prodcr成员的人,但它不起作用 - 它包括所有那些成为prodcr成员的人。我花了很多时间 - 请告诉我我做错了什么?

select DISTINCT mem_no
              , first_name
              , last_name
              , inits
              , addr1
              , post_code
              , email 
           FROM members m
           JOIN `group` g
          USING (mem_no) 
          WHERE ( 
                  NOT ('group' = "prodcr") 
            AND    (`group` LIKE "cr%")
                ) 
            ORDER 
               BY last_name ASC
                , first_name ASC 
            LIMIT 0,500 

2 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

SELECT DISTINCT mem_no, first_name, last_name, inits, addr1,post_code, email 
       FROM members JOIN group USING (mem_no)
       WHERE group LIKE "cr%" AND  group != "prodcr"
       ORDER BY last_name ASC, first_name ASC 
       LIMIT 500

PS:如果您为表格group命名,并将group列列为其他内容(group is a reserved word),那会更好。

答案 1 :(得分:0)

我一直在阅读我可以放下的每个网站,看起来这就是解决方案:

我已将其设置在下方,以防其他任何有类似困境的人

SELECT mem_no,first_name,last_name,inits,addr1,post_code,email FROM members JOIN club USING(mem_no)WHERE club<> 'prodcr'和俱乐部LIKE'cr%'和mem_no NOT IN(SELECT mem_no FROM club WHERE club ='prodcr')GROUP BY mem_no ORDER by last_name ASC,first_name ASC limit 0,500