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]   

> Без описания
Ricco381
Отправлено: 06 Января, 2015 - 20:06:31
Post Id



Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2014  
Откуда: Харьков


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




Есть четыри таблицы video,comments,like,otvet в каждой таблице есть поле userID в которой хранится id пользователя.
Как мне достать все поля из таблиц у которых userID например 3.
И когда в одну из таблиц добавляется значение оно должно быть в начале массива. Если можно использавать order by будет вообще супер.
Помогите пожалуйста, спасибо!
 
 Top
teddy
Отправлено: 06 Января, 2015 - 21:32:08
Post Id


Участник


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


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




Попробуйте этот запрос. Ну и вместо звездочки укажите только нужные поля, что бы не выбирать то, чего не надо
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM
  2.     `users`
  3.           LEFT JOIN `video` ON `video`.`userID` = `users`.`id`
  4.           LEFT JOIN `comments` ON `comments`.`userID` = `users`.`id`
  5.           LEFT JOIN `like` ON `like`.`userID` = `users`.`id`
  6.           LEFT JOIN `otvet` ON `otvet`.`userID` = `users`.`id`
  7.        WHERE `users`.`id` = 3
  8.        ORDER BY `video`.`id` DESC,
  9.             `comments`.`id` DESC,
  10.             `like`.`id` DESC,
  11.             `otvet`.`id` DESC  

(Отредактировано автором: 06 Января, 2015 - 21:50:17)

 
 Top
Ricco381
Отправлено: 06 Января, 2015 - 22:02:43
Post Id



Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2014  
Откуда: Харьков


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




не пойму что за таблица users и что делает точка?
 
 Top
teddy
Отправлено: 06 Января, 2015 - 23:06:10
Post Id


Участник


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


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




Ricco381 пишет:
не пойму что за таблица users

Вы написали, что в перечисленных таблицах есть userID. Значит где то должна быть и таблица users, с которой и связаны данные, или нет? Улыбка Поля из нее в текущем контексте(если я все верно понял) выбирать не нужно, она в запросе чисто для джойнов и участия в фильтрации.

`table`.`column_name` вот что значит точка. Т.е ссылаемся на конкретное поле конкретной таблицы. Название полей конечно же должны быть Вашими.
 
 Top
Ricco381
Отправлено: 07 Января, 2015 - 01:27:14
Post Id



Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2014  
Откуда: Харьков


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




Спасибо, утром попробую.
 
 Top
Ricco381
Отправлено: 07 Января, 2015 - 10:04:35
Post Id



Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2014  
Откуда: Харьков


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




Выбирает очень много столбцов

(Отредактировано автором: 07 Января, 2015 - 10:11:20)

 
 Top
Ricco381
Отправлено: 08 Января, 2015 - 00:02:01
Post Id



Новичок


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2014  
Откуда: Харьков


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




есть три запроса
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = query("SELECT * FROM `user` WHERE `userID` = 3");
  3. $sql1 = query("SELECT * FROM `videos` WHERE `userID` = 3");
  4. $sql2 = query("SELECT * FROM `likes` WHERE `userID` = 3");
  5.  


как сделать чтоб выборка добавлялась в конец массива по мере добавления данных в базу?
 
 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