[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с составлением SQL запроса ;)
Страницы: 1, 2
N0ob
Мне нужно сделать вот что. У меня есть таблица с видосом. И таблица подписчиков на видео. Так вот мне нужно вытащить все видеозаписи с таблицы, где автор=user:1 либо существует запись в таблице с подписчиками. Я делал так:
Database::query("SELECT `fg5k_videos`.`picture`, 
`fg5k_videos`.`name`,
`fg5k_videos`.`id`,
`fg5k_videos`.author
FROM
`fg5k_videos`, `fg5k_video_subscribers`
WHERE
`fg5k_videos`.`author`= 'user:"
.$_SESSION['id']."'
OR (`fg5k_video_subscribers`.`id_sub`='"
.$_SESSION['id']."' AND `fg5k_video_subscribers`.`type`='user')
LIMIT 3"
);

Но мне всегда возвращает 0 строк. А в таблице(с видео) существует 3 записи, у двух из которых автор=
'user:1' В таблице с подписчиками никого нет :unsure:
philya
Что-то в переменной сессии не то? Вместо нее подставьте заведомо имеющиеся данные
sergeiss
N0ob, делаешь так:

$sql=.... // тут пишешь весь свой запрос, в том виде, как он у тебя формируется
echo $sql; // берешь сформированный запрос и всовывешь его в БД через phpmyadmin


И смотришь как на сам запрос, так и на результат его выполнения.

И еще. Что это за содержимое поля 'user:1'? Чегой-то непонятное.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
rooor
Цитата
Что это за содержимое поля 'user:1'?

ну скорее всего так в базе записано) хотя по мне лучше id пользователя писать в отдельном поле
N0ob
SELECT `fg5k_videos`.`picture`, 
`fg5k_videos`.`name`,
`fg5k_videos`.`id`,
`fg5k_videos``.author`
FROM
`fg5k_videos`, `fg5k_video_subscribers`
WHERE
`fg5k_videos`.`author`= 'user:1'
OR (`fg5k_video_subscribers`.`id_sub`='1' AND `fg5k_video_subscribers`.`type`='user')
LIMIT 3

Это полный SQL запрос. А что мне с ним делать - даже не знаю((
Игорь_Vasinsky
так сложно судить. покажи структуры таблиц

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
N0ob
fg5k_videos
id name src author picture

fg5k_video_subscribers
id id_sub type
Игорь_Vasinsky
SELECT *  
FROM `fg5k_videos`, `fg5k_video_subscribers`
WHERE
`fg5k_videos`.`author`= 'user:1'
OR (`fg5k_video_subscribers`.`id_sub`=1 AND `fg5k_video_subscribers`.`type`= 'user')
LIMIT 3


так что кажет?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
N0ob
Игорь_Vasinsky то же самое wink.gif
Игорь_Vasinsky
SELECT *  
FROM `fg5k_videos`, `fg5k_video_subscribers`
WHERE
`fg5k_videos`.`author`LIKE 'user%'
OR (`fg5k_video_subscribers`.`id_sub`=1 AND `fg5k_video_subscribers`.`type`= 'user')
LIMIT 3

а так кажет?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
ну как?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
N0ob
Игорь_Vasinsky неа(
Игорь_Vasinsky
у тя вообще строки то есть в БД? :D

связь какая между таблицами?

по ID ? по id id_sub?

fg5k_videos
id name src author picture

fg5k_video_subscribers
id id_sub type

SELECT *  
FROM `fg5k_videos` `fv`, `fg5k_video_subscribers` `fvs`
WHERE `fv`.`id` = `fvs`.`id_sub`


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
N0ob
Игорь_Vasinsky я тут немного модеренизировал свою БД. Я добавил в fg5k_video_subscribers поле video_id(я его просто забыл добавить на стадии разработки). Запрос стал таков:
SELECT `fg5k_videos`.`picture`, 
`fg5k_videos`.`name`,
`fg5k_videos`.`id`,
`fg5k_videos`.`author`
FROM
`fg5k_videos`, `fg5k_video_subscribers`
WHERE
`fg5k_videos`.`author`= 'user:1'
OR (`fg5k_video_subscribers`.`id_sub`=1 AND `fg5k_video_subscribers`.`video_id`=`fg5k_videos`.`id` AND `fg5k_video_subscribers`.`type`='user')
LIMIT 3

То есть особо он не изменился. Я вот что заметил. Когда в таблице fg5k_video_subscribers есть запись, то он выводит а когда нету - то вообще молчит((((
Игорь_Vasinsky
Цитата
Когда в таблице fg5k_video_subscribers есть запись,


ну у тя же в запросе по нему 3 условия

`fg5k_video_subscribers`.`id_sub`=1
AND
`fg5k_video_subscribers`.`video_id`=`fg5k_videos`.`id`
AND
`fg5k_video_subscribers`.`type`='user'


оставь для начала этот тока

 WHERE 
`fg5k_videos`.`author`= 'user:1'


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.