Forum Webscript.Ru

Общие => Базы данных => Тема начата: tattered от 24 Декабря 2004, 11:51:17

Название: 2 count\'a + left join trouble!
Отправлено: tattered от 24 Декабря 2004, 11:51:17
есть 3 таблицы: user, table1, table2

user:
| id | name |

table1
| id | usr_id | description |

table2
| id | usr_id | description |

нужно вывести имя user\'а из таблицы user и посчитать, сколько записей он сделал в первую и вторую таблицы (нуль тоже может быть, т.к. user может записи и не делать).
использую версию mysql - 4.0.13
знаю, что с версии 4.1.5 можно использовать подселект, но это тоже не годиться.

написал следующее:
select
user.name,
count(table1.id) as cnt_tab1,
count(table2.id) as cnt_tab2
from
user
left join
table1 on user.id=table1.usr_id
left join
table2 on user.id=table2.usr_id
group by user.name

если использовать left join между двумя таблицами (user+table1 или user+table2) - все ок, но, как только добавляется третья, поля cnt_tab1 и cnt_tab2 каким-то мистическим образом начинают перемножаться между собой.

спасибо всем, кто поможет.