id1 id2 year State Gender
==== ====== ====== ===== =======
1 A 2008 ca M
1 B 2008 ca M
3 A 2009 ny F
3 A 2008 ny F
4 A 2009 tx F
select
state, gender, [year],
count (distinct(cast(id1 as varchar(10)) + id2))
from
tabl1
group by state, gender, [year]
Я могу найти отчетливый счет через позывной. Теперь мне нужно найти отчетливый счет по городу. как в CA - 3 города .. sfo, la, sanjose. У меня есть таблица поиска, в которой я могу найти состояние и город.Подсчитайте значение счетчика при соединении двух таблиц
table2 - city
====
cityid name
==== ====
1 sfo
2 la
3 sanjose
table 3 - state
====
stateid name
==== ====
1 CA
2 Az
table 4 lookup state city
====
pk_cityId pk_state_id
1 1
2 1
select state,city,gender, [year],
count (distinct(cast(id1 as varchar(10)) + id2))
from
tabl1 p
group by state, gender, [year],city
этот запрос, чтобы найти название города и штата.
select c.city,s.state from city_state sc
inner join (select * from state)s on sc.state_id = s.state_id
inner join (select * from city)c on sc.city_id = c.city_id
я сделал похож на этот запрос, используя справочную таблицу, но проблема в том, что я получаю отчетливый подсчет во всех государствах и то же ЧИСЛО графа повторяюсь для каждого города в государстве.
ex: для подсчета для ca: 10, тогда граф для городов должен быть как La - 5, sanjose - 4, sfo-1.
, но с моим запросом я получаю как sfo - 10, la-10, sanjose-10 .. я не смог найти счет для более низкого уровня. любая помощь будет оценена по достоинству.
UPDATE: Я обновил запрос и таблицы поиска.
Las Vegas, CA? Uh-huh ... –
мой плохой ... k i ll меняю его. :) – jero
Что означает ID1 в первой таблице? Это идентификатор города? –