SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.06.2008 04:54:58

20cm
Участник
Зарегистрирован: 20.06.2008
Сообщений: 3

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

Есть таблица со столбцами: id, fio,sex(0 -Женский, 1- мужской), boss_id(идентификатор начальника). Надо составить запрос который показывает ФИО всех сотрудниокв, количество их прямых подчиненных, и количество подчиненных им женщин.

Неактивен

 

#2 20.06.2008 06:24:25

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите составить запрос

SELECT u1.fio,count(u2.id) cnt1,count(u2.id)-SUM(u2.sex) cnt2 FROM users u1 LEFT JOIN users u2 ON u2.boss_id = u1.id GROUP BY u1.fio;

Неактивен

 

#3 20.06.2008 07:32:57

20cm
Участник
Зарегистрирован: 20.06.2008
Сообщений: 3

Re: Помогите составить запрос

не правильно. чтоб было понятно вот пример таблицы:
2    Bill Adam     1    2
3    Bob Marley    1    2
4    Mary Jones    0    2
5    Sue Smith    0    2
6    Bill Smith     1    5
7    I self    1    2

Неактивен

 

#4 20.06.2008 07:46:33

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите составить запрос

Что именно неправильно?

Неактивен

 

#5 20.06.2008 08:55:28

20cm
Участник
Зарегистрирован: 20.06.2008
Сообщений: 3

Re: Помогите составить запрос

этот запрос выводит не тот результат. попробуй выполни его для указанной выше таблицы.

Неактивен

 

#6 20.06.2008 09:11:05

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите составить запрос

Чтобы было проще, пришлите дамп таблицы или объясните словами в чем разница между ответами. Вижу только одно - Bill Adam начальник сам себе, мой запрос считает его как подчиненного

Неактивен

 

#7 17.07.2008 18:25:23

yuriy66
Участник
Зарегистрирован: 17.07.2008
Сообщений: 1

Re: Помогите составить запрос

Здраствуйте!!!
Помогите сделать запрос.Суть следующая из таблицы удаленна нечаянно запись.В поле Namberecord после записи за номером 24 идет сразу 26,последний номер записи 178.Помогите перенумеровать записи,чтобы этого "пробела" в таблице "Device" не было видно.Спасибо

Отредактированно yuriy66 (17.07.2008 18:30:54)

Неактивен

 

#8 17.07.2008 19:49:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите составить запрос

UPDATE TABLE Device SET id = id-1 WHERE id > 25;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson