2012-03-17 2 views
0

여러 방법을 사용하여 MySQL의 테이블 행에 데이터를 삽입합니다 : 1 # 2 # 3. 1은 국가의 ID, 2는 국가의 ID, 3은 마을의 ID입니다. 지금 나는 부동산 목록을위한이 테이블을 가지고있다. 각 목록 (집)마다 나는 국가/주/마을이 있습니다 (1 # 2 # 3). 나라 표리스트는 나라 표를 가지고 있습니다 - 나라 표를 가지고 있습니다 - 나라 표에는 마을의 일람이 있습니다. 나는 필요 국가/주/마을에있는 집의 수. 나 의미는 다음과 같습니다개수 DISTINCT 여러 개의 MySQL 행 쿼리

USA [ 13 ] <!-- This Is equal of alabama+alaska+arizona --> 
----Alabama [8] <!-- This Is equal of Adamsville+Addison+Akron --> 
-------Adamsville [2] 
-------Addison[5] 
-------Akron[1] 
......(list of other City) 
----Alaska [ 3 ] 
-------Avondale[3] 
......(list of other City) 
----Arizona [ 2 ] 
-------College[2] 
......(list of other City) 

Lisintg 테이블 :

ID -- NAME -- LOCATION -- DATEJOIN -- ACTIVE 
1 -- TEST -- 1#2#3 -- 20110101 -- 1 
2 -- TEST1 -- 1#2#3 -- 20110101 -- 1 
3 -- TEST2 -- 1#3#5 -- 20110101 -- 1 
4 -- TEST3 -- 1#7#6 -- 20110101 -- 1 

나라 테이블 :

id  -- name 
1  -- USA 

통계 테이블 :

id  -- countryid -- name 
1  -- 1   -- albama 
2  -- 1   -- alaska 
3  -- 1   -- akron 

마을 테이블 :

id  -- countryid -- statsid -- name 
1  -- 1   -- 1   -- adamsville 
2  -- 1   -- 1   -- addison 
3  -- 1   -- 1   -- akron 

도움 주셔서 감사합니다.

+1

귀하의 스키마가 완전하지 않다. 테이블 정의를 게시 할 수 있습니까? – liquorvicar

+0

내 질문에 국가/통계/마을/목록의 나의 테이블을 추가했습니다. –

+0

실제로'location'을'# # 2 # 3 '과 같이 3 개의'#'로 분리 된 문자열로 저장합니까? 그렇다면 먼저 테이블 스키마를 먼저 수정해야합니다. 어쨌든 좋은 시작이 될 것입니다. 왜냐하면'selector1'과'selector2' 같은 칼럼 이름은 의미가 없기 때문입니다. – Arjan

답변

0

나는 당신의 테이블 스키마를 모르는,하지만 당신은 시도 할 수 있습니다 :

SELECT count(DISTINCT country_name) FROM `tbl_country` 

수() 함수는 내가 스키마가 이상적이라고 생각하지 않는 행

0

의 수를 반환하고 당신이해야 그것을 바꾸어보세요.

  • 목록 테이블의 위치 입력란이 두 가지 이상을 수행 중입니다. 분명히 도시 ID를 저장해야 할 것입니다. 분명히 당신은 그 국가와 국가를 해결할 수 있습니까?
  • 다른 테이블의 "선택기"열의 이름이 잘못되었습니다. 그들은 무엇인가? 그들은 다른 테이블에있는 ID에 대한 외래 키 참조입니까? 그렇다면 이름을 그대로 지정하십시오.

나는 당신이 달성하려고 노력하는 것이 각 지리적 영역의 모든 별개 목록의 합계라고 생각합니다. 그렇다면 SELECT...GROUP BY을 조사해야합니다. 이

SELECT location,count(*) 
FROM listings 
GROUP BY location 

이 같은 무언가가 당신에게 각각 별개의 위치 목록과 횟수는 목록 테이블에 나타납니다을 줄 것입니다.

+0

이 이름은 상상할 수 있습니다. 하지만 내 e.x selector = 이름은 –

+0

@SaimonAvazian입니다. 나는 그 이름을 분명히 밝히고 설명 할 필요가 없다고 제안 할 것입니다! – liquorvicar