嗨,我们正在尝试执行一个mysql select,这并不是计划中的事情,希望有人能对此有所了解。
我们估计有10,000多个列表记录,一个客户可以在不同的位置有几个列表记录。我们需要选择至少有一个位置等于指定字段位置的所有客户列表。
例如,假设客户1在sheffiled、doncaster、leeds、wakefield有列表,客户2在伦敦和布赖顿有列表。
现在,我希望选择所有客户列表,其中一个列表是谢菲尔德地区的列表。
我希望拿回客户1的4行,因为他的一个列表在谢菲尔德。
出于本例的目的,我们假设该表只包含customerId和LocationName
我需要选择其中一个locationNames =谢菲尔德的所有customerIds。因此,我得到了4行带有客户Id和4个位置的retruend
如何在mysql中编写此查询?我猜是subselect,但不太确定。
发布于 2011-08-17 15:42:10
SELECT customerid FROM customers_location
WHERE customerid IN(SELECT DISTINCT customerid FROM customers_location WHERE LocationName = 'sheffield')
发布于 2011-08-17 15:43:56
类似于:
SELECT * FROM CUST_TABLE WHERE CUST_ID IN (
SELECT DISTINCT CUST_ID FROM CUST_TABLE WHERE CUST_LOCN='Sheffield')
注意: distinct子句可能不是严格必要的,也不确定。这将会给你一个例子。客户xyz的4条记录,其中一个列表位置为Sheffield,我想这就是您要问的问题。
https://stackoverflow.com/questions/7095573
复制相似问题