2011-08-17 6 views
0

안녕하세요, MySQL 계획을 세우려고하고 있습니다. 누군가가 계획을 세우고 누군가가 그것에 대해 밝힐 수 있기를 바랍니다.mysql select problem

약 10,000 개 이상의 업체 정보가 포함되어 있으므로 고객은 여러 지역에 대한 여러 업체 정보를 보유 할 수 있습니다. 적어도 하나의 위치가 특정 필드 위치와 동일한 모든 고객 목록을 선택해야합니다.

예를 들어 고객 1은 sheffiled, doncaster, leeds, wakefield의 목록을 가지고 있고 고객 2는 런던과 brighton의 목록을 가지고 있다고 말할 수 있습니다.

이제 목록 중 하나가 지역 셰필드에 대한 모든 고객 목록을 선택하고 싶습니다.

Id는 목록 1 개가 셰필드에 있기 때문에 고객 1의 4 개의 행을 되 찾을 수 있기를 바랍니다. 이 예제를 위해서

은 테이블이 단지 고객 ID를하고 LocationName

내가 모든 customerIds를 선택해야합니다 구성 추정 할 수 있습니다 어디 locationNames = 셰필드 중 하나. 그래서 이드는 cusotmer ID와 4 개의 위치를 ​​가지고 4 행을 조사하게됩니다.

어떻게 mysql에서이 쿼리를 작성합니까? Im는 subselect를 추측하지만 너무 확실하지는 않습니다.

답변

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

뭔가 같은 :

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

참고; 명료 한 절이 반드시 필요한 것은 아닐 수도 있습니다. 예. 예. 셰필드 (Sheffield) 같은 리스팅 위치 중 하나를 가지고있는 고객 xyz에 대한 4 개의 레코드는 내가 생각하는 것입니다.