2017-02-17 107 views
0

我想选择10个提交的所有客户记录,但不是20个被分配为代表的客户记录。所以我的愿望结果是为客户2和3选择2个总记录。排除4,因为20是该集合的一部分。任何帮助是极大的赞赏。MySQL查询选择和分组

+--------------+--------+----------------+ 
| Submitted_By | Client | Representative | 
+--------------+--------+----------------+ 
|   10 |  2 |    15 | 
|   10 |  2 |    16 | 
|   10 |  2 |    17 | 
|   10 |  3 |    15 | 
|   10 |  3 |    16 | 
|   10 |  3 |    19 | 
|   10 |  4 |    15 | 
|   10 |  4 |    16 | 
|   10 |  4 |    17 | 
|   10 |  4 |    20 | 
+--------------+--------+----------------+ 

试图

SELECT 
    Client, 
    Submitted_By, 
    Representative, 
FROM 
    client 
WHERE 
Client = 10 AND Representative != 20 
+2

请正确格式化您的数据示例。你已经尝试了什么? –

+1

是的。这看起来很简单,所以告诉我们你的尝试。并包括格式正确的所需结果。 – Strawberry

回答

0

你可以使用子查询,如:

SELECT Client, Submitted_By, Representative 
    FROM client 
    WHERE Submitted_By = 10 
    AND Client NOT IN (SELECT Client FROM client WHERE Representative = 20) 

你写,你只需要 “2个总记录数” 返回。然后可以使用一个GROUP BY Client 语句从您提供的示例表中返回两行,每个客户端一行。

+0

谢谢。这正是我需要的。 – TheDag

+0

完成。再次感谢。 – TheDag