Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с запросом к бд 
V
    Опции темы
max1imus
Дата 7.5.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.5.2009

Репутация: нет
Всего: нет



Немного "рисую" на PHP
Вот попал в засаду, по выводу из таблицы с комментариями, коментариев с дополнительным запросом в таблицу с пользователями. Т.е если совпадение ника коментатора с ником пользователя брался юзерлевел из таблицы с пользователями. Но суть в том что в таблице с пользователями может и не быть такого ника и выдает нулл.

Вот код просто с выдачей комментов
Код
$result = SQL_Query("SELECT *
    FROM ".$bd_comments."
    where comment_topic='".$topic."' AND comment_post_id=".$id."
    ORDER BY comment_id DESC LIMIT 0,10");


А вот то, что пытаюсь да не выходит
Код
$result = SQL_Query("SELECT comm.*, u.user_level
    FROM ".$bd_comments." comm, users u 
    where comment_topic='".$topic."' AND comment_post_id=".$id." AND comment_user_name=u.login
    ORDER BY comment_id DESC LIMIT 0,10");


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

В чем может быть дело ... подскажите [желательно малой кровью]

MySQL 5.0.51a
PM MAIL   Вверх
Grig
Дата 7.5.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: нет
Всего: 16



попробуйте так:
Код

SELECT comm.*, u.user_level
    FROM some_table comm
left join users u on(
comm.comment_user_name=u.login
)
    where comm.comment_topic='bla-bla' AND comm.comment_post_id=".$id." 
    ORDER BY comm.comment_id DESC



--------------------
        
PM MAIL ICQ   Вверх
DimW
Дата 7.5.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 4
Всего: 44



при связе сомментов с пользователями используй не обязательную связь - left outer join.
PM MAIL ICQ   Вверх
max1imus
Дата 7.5.2009, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.5.2009

Репутация: нет
Всего: нет



Цитата(Grig @ 7.5.2009,  11:02)
попробуйте так:
...

Помогло ... ученье свет 
Иду вчитываться в мануал

А в чем разница с outer или без?
PM MAIL   Вверх
DimW
Дата 8.5.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 4
Всего: 44



Цитата(max1imus @  7.5.2009,  22:51 Найти цитируемый пост)
А в чем разница с outer или без?

и то и другое подразумевает под собой не обязательную связь, outer используется по дефолту.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.