Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Подсчет количества записей (2 таблицы)


Автор: Lorigin 1.7.2009, 16:26
Не кидайтесь пожалуйста камнями но чесно искал и добился результата но не до конца..

у меня есть два таблицы: 
children  [ id,  FIO ,  dob]  таблица содержит базу детей и их данные 
и вторая таблица
receptions [id, parametr1, parametr2 .....] тут хранятся записи приемов того или иного ребенка... тоесть как бы связана первая таблица со второй по ID

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

Код

SELECT children.fio, children.dob, COUNT(*) 
FROM children, receptions
WHERE children.id = receptions.id 
GROUP BY  children.fio, children.dob;


делаю так.. но если в первой таблице дети забиты но в receptions  нету записей приемов для них, то мой запрос не отображает таких детей, у которых 0 приемов...

как справиться с такой проблемой подскажите пожалуйсто

Автор: Akina 1.7.2009, 16:33
Цитата(Lorigin @  1.7.2009,  17:26 Найти цитируемый пост)
мой запрос не отображает таких детей, у которых 0 приемов...

Код

SELECT children.fio, children.dob, COUNT(receptions.id) 
FROM children
LEFT JOIN receptions 
ON children.id = receptions.id 
GROUP BY children.fio, children.dob;

Автор: Lorigin 1.7.2009, 18:30
Спасибо огромное.. завтра пойду книжку нормальную искать по SQL...

Автор: Lorigin 3.7.2009, 22:37
Ох... уже полдня пытаюсь разобраться но почемуто в таком запросе не работает Where...  =\


делаю такой запрос

Код

SELECT children.fio, children.dob, children.fio_parrents, children.card_nom, children.id, COUNT( receptions.id )
FROM children
LEFT JOIN receptions ON children.id = receptions.id
WHERE 'children.fio' LIKE '%Иванов%'
GROUP BY children.fio, children.dob, children.fio_parrents, children.card_nom
ORDER BY children.fio


выдает: Ваш SQL-запрос был успешно выполнен (Запрос занял 0.0010 сек).. собственно а где таблица?) 

Автор: Zloxa 4.7.2009, 01:43
Цитата(Lorigin @  3.7.2009,  22:37 Найти цитируемый пост)
собственно а где таблица?)  

Строка 'children.fio' не содержит подстроки 'Иванов' этот критерий отбора не выдаст истину для всего набора данных, от этого, возвращаемый набор данынх пуст.
Того же самого эффекта можно добиться указав в критерии отбора условие 1=2 или 2+2=5
Думаю, чтото похожее на желаемое Вы сможете получить, если уберете кавычки, обрамляющие children.fio

Автор: Lorigin 4.7.2009, 15:04
 smile из за кавычек... я даже подумать не мог... =\

спасибо огромное!!! только ей богу я не понимаю почему.. где бы прочитать про силу этих самих кавычек ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)