Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MySQL > select и количество записей с другой таблицы? |
Автор: Wwolf 31.3.2010, 15:16 | ||||||
Существует три таблицы:
не получается подсчитать количество записей c Table3 по условию: Тable2.fio = 'M' Table2.idt = Table1.id Таble3.idtt = Table1.id Результат должен был быть:
Такой вот запрос не работает: ![]()
Я так подозреваю, что "count" в таком запросе не приемлем. не подскажешь как правильно составить запрос? Заранее благодарю. |
Автор: Akina 31.3.2010, 16:21 |
Угу. Причина проста - отсутствует Group By. |
Автор: Wwolf 31.3.2010, 18:01 | ||||||
Да. ![]() Спасибо Вот только возникла ещё одна проблема в том же запросе Дополнительно из Таблицы 3 необходимо вывести значение полей "D" и "F" у которого поле "D" имеет (max) значение Table3
Значение "max(Table3.d) AS d" выводится правильно, а вот "Table3.f" у которого max(Table3.d), проблема (выводит первое значение, а не "max") Вот такой должен быть правильный результат
а выводит [code=nocolor] ----------------------------------------- | a | c | d | f ------------------------------------------ b | 2 | 3 | 22 c | 1 | 2 | 11 Как правильно задать условие в данном запросе, чтобы выводилось значение "Table3.f" у которого max(Table3.d)? ![]() |
Автор: Akina 31.3.2010, 18:03 | ||
в секции HAVING |
Автор: Wwolf 31.3.2010, 19:16 | ||
Использование секции [HAVING ] нужного результата не дало получаем первое значение "Table3.f", а не "Table3.f" у которого max(Table3.d) что ещё можно придумать? |
Автор: Akina 31.3.2010, 21:46 |
Перед использованием рекомендуется читать инструкцию |
Автор: Wwolf 1.4.2010, 18:09 |
Согласен. Вопрос решил без использования секции [HAVING] ИМХО, конечно могу ошибаться. Данный вопрос не может быть решён через [HAVING] |
Автор: Akina 1.4.2010, 18:20 | ||
Подзапрос залепил, небось... ну а если подумать... что тебе надо? Перефразирую: "запись, у которой Table3.f равен max(Table3.d)" Осталось записать это на SQL
|
Автор: Wwolf 1.4.2010, 18:52 |
Нет. все намного проще... В данном запросе не дает нужного результата согласно поставленного условия в целом. |
Автор: Akina 1.4.2010, 21:41 |
Ну тогда сортировка и взятие одной записи. |
Автор: Wwolf 2.4.2010, 09:46 |
нет. ещё проще |