Помогите написать запрос

Bor-ka

Новичок
Помогите написать запрос

Имеется две таблицы:

Таблица 1:
ID | P1 | P2
1 | 1 | 1
2 | 2 | 1
3 | 1 | 1
4 | 1 | 2
5 | 2 | 1
6 | 1 | 2
6 | 1 | 3

Таблица 2:
P2 | P3
1 | aaa
2 | bbb
3 | ccc

Необходимо выбрать из двух таблиц P3 и посчитать его количество в епрвой таблице.

Сейчас делаю через group by P2, количестов счетает.

Получается:
aaa | 4
bbb | 2
ccc | 1

Однако необходимо считать немного иначе, а именно учитывать за одну несколько одинаковых записей при равных P2 для конкретного P1, т.е.
1 | 1 | 1
3 | 1 | 1
считать за одну запись.

и

2 | 2 | 1
5 | 2 | 1
считать за одну запись.

Подскажите, плиз, как такое можно получить?
 

alpine

Новичок
Bor-ka
Попробуй
[sql]
SELECT count(distinct t1.P1) AS cnt FROM table1 as t1
INNER JOIN table2 as t2 ON t1.P2 = t2.P2
GROUP BY t2.P3
[/sql]
 

Bor-ka

Новичок
alpine
Большое спасибо за помощь, все ок, только GROUP BY t2.P3 сделал по индексу - GROUP BY t2.P2
 
Сверху