mysql选择问题

时间:2011-08-17 15:39:13

标签: mysql

您正在尝试执行一个不打算计划的mysql选择,并希望有人能够对它进行一些了解。

我们估计有10,000多个上市记录,一个客户可以拥有不同地点的多个上市记录。我们需要选择所有客户列表,其中至少有一个位置等于特定位置。

例如,假设客户1在sheffiled,doncaster,leeds,wakefield有一个列表,而客户2在伦敦和布莱顿有列表。

现在我想选择所有客户列表,其中一个列表是谢菲尔德区域。

我希望能够获得客户1的4行,因为他的一个列表位于谢菲尔德。

为了这个例子,我们假设该表只包含customerId和LocationName

我需要选择其中一个locationNames = sheffield的所有customerIds。所以Id得到了4行的cusotmer ID和4个位置

你如何在mysql中编写这个查询?我猜测subselect但不太确定。

2 个答案:

答案 0 :(得分:4)

SELECT customerid FROM customers_location
WHERE customerid IN(SELECT DISTINCT customerid FROM customers_location WHERE LocationName = 'sheffield')

答案 1 :(得分:2)

类似的东西:

SELECT * FROM CUST_TABLE WHERE CUST_ID IN (
   SELECT DISTINCT CUST_ID FROM CUST_TABLE WHERE CUST_LOCN='Sheffield')

请注意;明确的条款可能不是绝对必要的,不确定。 这会给你举个例子。 4个客户xyz的记录,其中一个列表位置为谢菲尔德,我认为这就是你所要求的。