![]() |
|
Модераторы: skyboy |
![]()
|
|
| KonstRuctor |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Привет!
Есть две таблицы: users
gallery
Задача: У некоторых юзеров может быть много фото, у некоторых нет вообще. Нужно узнать кол-во юзеров, у которых есть хотя бы одно фото. Таблицы никак не связаны. mysql версия 4.1.16 Я делаю так:
Разумеется, получаю полную лажу: я сделал тестовые таблицы и могу руками сосчитать, сколько в итоге должно получиться. С наступающими! |
||||||
|
|||||||
| Dremlin |
|
|||
|
Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
Если таблицы не связаны логически, то любой запрос вернет тебе лажу.
Иначе:
Это сообщение отредактировал(а) Dremlin - 27.12.2006, 14:48 --------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
|
|||
|
||||
| KonstRuctor |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Dremlin, не выходит каменный цветок...
ошибку выдает: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM ( SELECT u.user_id, count( muzer, мысль верная - зайти с этой таблицы. Попробую переписать алгоритм. Спасибо |
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
KonstRuctor, это была не мысль, а полное решение поставленной задачи
Если задача на самом деле другая, то милости просим, излагайте) |
|||
|
||||
| KonstRuctor |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
muzer,
Когда я вывожу данные из базы, я делаю постраничный вывод. Поэтому алгоритм у меня такой: 1) Посчитать всех юзеров, кто заплейсил фотки, получить переменную $amount 2) Снова вызвать тот же запрос , но уже без COUNT и с лимитом (скажем 10 на стр.) 3) Вывожу на экран навигационную панель (для нее необходим $amount) 4) Вывожу на экран данные. 5) Внизу можно повторить навигационную панель. Согласен, что я в первом сообщении не точно поставил вопрос. Сейчас я просто подошел к решению с таблицы gallery и все заработало отлично. Нужно привести мой полученный код в упрощенном виде или тема закрыта? В любом случае -- спасибо! |
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
Да не за что.
А про тему это вам решать закрыта или нет Почитайте ещё о ключевом слове "SQL_CALC_FOUND_ROWS" в SELECT Syntax, возможно пригодится для программирования описанной листалки. Даёт возможность после выполнения запроса с каким-либо LIMIT'ом получить ответ на вопрос "а сколько бы вернулось строк, если бы не было лимита". |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |