запрос c count и join
Добавлено: 02 дек 2010, 14:23
Помогите составить запрос. Есть две таблицы. users и phones.
users - id_usr (integer), fio (varchar)
phones - id_usrf (integer), tel (varchar)
Нужно вывести все записи из таблицы users и все соответствующие записи из таблицы phones с подсчетом количества. Например у пользователя Иванов id_usr = 4 и для него в таблице phones есть три записи с телефонами. Значит в результате запроса напротив фамилии Иванов должно выйти 3. Я сделал такой запрос:
select count(phone.id_usrf) as cntphone from phone
LEFT JOIN users on phone.id_usrf = users.id_usr
group by phone.id_usrf
В результате выполнения выводится только поле cntphone а приклеенная джойном таблица users вообще не отображается, хотя как я думал она должна была отобразиться вся, без жесткого соответствия id_usr=id_usrf, ведь left join подразумевает именно это. Если у кого есть соображения что я не так сделал, напишите плз.
users - id_usr (integer), fio (varchar)
phones - id_usrf (integer), tel (varchar)
Нужно вывести все записи из таблицы users и все соответствующие записи из таблицы phones с подсчетом количества. Например у пользователя Иванов id_usr = 4 и для него в таблице phones есть три записи с телефонами. Значит в результате запроса напротив фамилии Иванов должно выйти 3. Я сделал такой запрос:
select count(phone.id_usrf) as cntphone from phone
LEFT JOIN users on phone.id_usrf = users.id_usr
group by phone.id_usrf
В результате выполнения выводится только поле cntphone а приклеенная джойном таблица users вообще не отображается, хотя как я думал она должна была отобразиться вся, без жесткого соответствия id_usr=id_usrf, ведь left join подразумевает именно это. Если у кого есть соображения что я не так сделал, напишите плз.