| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > LEFT JOIN |
| Автор: lumentek 21.4.2010, 12:56 | ||
Есть запрос
Таблица lpu - Это справочник. Так вот у меня 1 вопрос. 1. Запрос подсчитывает общее количество проведеных анализов у для каждого лпу, но только те ЛПУ которые, id которых есть в таблице анализов. А мне нужно выводить все ЛПУ из таблицы lpu, и там где нет соответсвие просто писалось NULL. Помогите исправить запрос |
| Автор: azesmcar 21.4.2010, 13:07 | ||
OUTER JOIN? |
| Автор: DimW 21.4.2010, 13:16 | ||
натупил - отношения местами поменять нужно:
azesmcar, LEFT JOIN и так OUTER по умолчанию. |
| Автор: azesmcar 21.4.2010, 13:23 |
| DimW Ага, код запроса не посмотрел, по тексту вопроса показалось что автору это нужно. |
| Автор: lumentek 21.4.2010, 13:41 | ||
Сделал так как вы сказали
все равно пустых значений нет(((( Что же может быть. В таблице lpu 80 записей, а запрос выводит 43. По идее должно быть еще 37 пустых (NULL) значений(( |
| Автор: lumentek 21.4.2010, 14:06 |
| странно получается. если убираю where условие вообще, то все норм пашет. С чего бы это? |
| Автор: DimW 21.4.2010, 14:08 |
нет не так - убери GROUP BY. |
| Автор: lumentek 21.4.2010, 14:09 |
| о все разобрался |
| Автор: DimW 21.4.2010, 14:09 |
сколько записей в таблице lab_analyses? Добавлено через 32 секунды так вчем затык был? Добавлено через 1 минуту и 27 секунд все понял. |
| Автор: lumentek 21.4.2010, 14:15 | ||||
вот правильный запрос (спасибо Вам всем огромное)
Тут я даже сразу группирую и по ЛПУ и по дате. Теперь мне нужна помощь от вас вот в чем. Как мне в каждую строчку вывести ЛПУ с разбивкой по дате. Тоесть вот так, например : 1 поликлиника: 1,2,3,4,5....31 2 поликлиника : 1,2,3....30 и.т.д и.т.д. Тоесть тут уже чистый php в помощь нужен. Какие есть предложение? Добавлено через 1 минуту и 36 секунд
Добавлено @ 14:09 так вчем затык был? Затык был в том, что я where не нужно было, а точнее оно должно было быть в JOIN констуркции |
| Автор: DimW 21.4.2010, 14:51 | ||
какой смысл группировки без агрегации?
если хотите использовать пхп, то в соответствующую ветку обратитесь, а лучше доку откройте - в цикле по резалтсет нет ничего сложного. |
| Автор: lumentek 21.4.2010, 14:59 | ||
агрегация есть, я просто тут ее не указал |
| Автор: lumentek 21.4.2010, 18:46 |
| только что обратил внимаения что в данном запросе не совпадает диапазон дат. тоесть дата выходит за рамки диапазона between. В чем опять мой косяк? тип данных date |
| Автор: DimW 22.4.2010, 09:02 |
в каком? пример приведи как она выходит. |