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 :: SELECT из двух таблиц по ключу

 PHP.SU

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


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

> Описание: где в таблице нету полей
Alisandres
Отправлено: 06 Января, 2011 - 15:53:10
Post Id



Новичок


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


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




Добрый день, помогите пожалуйста составить запрос.
Есть две таблицы - comment и users, в обоих есть значение user_id - уникальный ключ пользователя.

Нужно выбрать все записи из comment, а из users только не которые поля по ключевому полю user_id которое задаться переменной, но есть одно но, в таблице users могут отсутствовать значения user_id, то есть пользователя под user_id уже нету,но коммент остался.
Все что смог сделать это просто выбрать 4 способами записи что есть, пустые не получаются.
 
 Top
Champion Супермодератор
Отправлено: 06 Января, 2011 - 16:21:06
Post Id



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


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


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




select * from users right join comments using(user_id) ?
 
 Top
Alisandres
Отправлено: 07 Января, 2011 - 00:09:40
Post Id



Новичок


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


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




Спасибо за ответ, но сожалению нет, таким образом выбираються все запсии, мне же нужно менять user_id - уникальный ключ пользователя, переменной.

выбрать все записи из таблицы comment по полю user_id заданному переменной, а так же присоединить в выбранному поля 1, поле 2,.... поле N, из таблицы users по полю user_id которое равно user_id из таблице comment или заданно переменной.

Как то так.
 
 Top
Champion Супермодератор
Отправлено: 07 Января, 2011 - 09:32:45
Post Id



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


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


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




select * from users right join comments using(user_id) where user_id = $some_value ?
 
 Top
Alisandres
Отправлено: 07 Января, 2011 - 13:15:13
Post Id



Новичок


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


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




да точно, так оно и есть, но не совсем то, видимо я не четко объяснил...

Код выбирает все записи, но как то некорректно, попробую описать.

В таблице comment есть комментарии пользователю у которого есть user_id его нужно выбрать по переменной, и к выбору добавить имена пользователей (и другие его данные) которые оставили комментарии, их user_id в таблице comment занесены как comment_ user_id и равны они user_id в таблице users Закатив глазки
 
 Top
Champion Супермодератор
Отправлено: 07 Января, 2011 - 13:34:22
Post Id



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


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


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




select *
from users u
right join comments c on c.comment_user_id = u.user_id
where u.user_id = $some_value ?
 
 Top
Alisandres
Отправлено: 07 Января, 2011 - 14:25:13
Post Id



Новичок


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


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




Все понял, спасибо большое!
Если можно, поясните пожалуйста как мне из users выбрать определенные поля что бы не нагружать лишний раз?
 
 Top
Champion Супермодератор
Отправлено: 07 Января, 2011 - 14:28:03
Post Id



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


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


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




select c.*, u.field1, u.field2
from users u
right join comments c on c.comment_user_id = u.user_id
where u.user_id = $some_value ?
 
 Top
Alisandres
Отправлено: 07 Января, 2011 - 20:50:45
Post Id



Новичок


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


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




Премного благодарен! Браво
 
 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