Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Объединенный запрос

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Поиск альтернативы
Gefest
Отправлено: 02 Июля, 2009 - 23:20:15
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Здравствуйте!
Нужен альтернативный вариант построения запроса т.к. мой не годен в одном случае, если отпостивший юзер был удален, то соответственно его пост не будет выбран, чего не хотелось бы


"SELECT users.id, users.nick, users.sex, users.time, comments.comment, comments.date FROM users, comments
WHERE comments.photo = '".$p."' AND comments.id_user = users.id
ORDER BY comments.id DESC LIMIT ".$start.", ".$_SESSION['user']['num_pages'].";");
 
 Top
Axenic
Отправлено: 03 Июля, 2009 - 00:45:42
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Мож такой вариант сгодится:
SELECT users.id, users.nick, users.sex, users.time, comments.comment, comments.date FROM users, comments
WHERE (comments.photo = '".$p."' AND comments.id_user = users.id) OR comments.photo = '".$p."' ORDER BY comments.id DESC LIMIT ".$start.", ".$_SESSION['user']['num_pages'].";

И потом устроить проверку содержит ли массив значения например users.id если нет, то значит была выполнена вторая часть проверки условия.
 
 Top
Gefest
Отправлено: 03 Июля, 2009 - 01:51:10
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Axenic, нее, все смешивается
 
 Top
Viper
Отправлено: 03 Июля, 2009 - 07:48:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




WHERE comments.photo = '".$p."' AND (comments.id_user = users.id OR comments.id_user IS NULL) может так ?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Champion Супермодератор
Отправлено: 03 Июля, 2009 - 08:50:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




SELECT u.id, u.nick, u.sex, u.time, c.comment, c.date
FROM users u RIGHT JOIN comments c
ON c.id_user = u.id
WHERE c.photo = '".$p."'
 
 Top
Gefest
Отправлено: 03 Июля, 2009 - 17:40:54
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Champion, спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB