PHP/MySQL | SQL запрос INNER JOIN
Поднимаю тему с самого начала!
Есть таблица
И таблица users, где находятся пользователи сайта.
Вопрос:
Как сделать обработку INNER/LEFT/RIGHT JOIN
Условия запроса:
Сделать приглашение
1. Всех кто в онлайне (time() - 300) - 5 минут игрок в онлайне
2. Если пригласил я, то вывод строки из таблицы не осуществлять
3. Если пригласил другой пользователь, то я могу приглашать
Пробовал делать такой запрос
------
61879_Screenshot_1.png (5.0 Kb)
Скачиваний: 89
________
посл. ред. 03.02.2019 в 13:07; всего 5 раз(а); by Николай Карамышев
Есть таблица
CREATE TABLE IF NOT EXISTS `ugroup_list` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`lider` int(11) NOT NULL,
`time` int(11) NOT NULL,
`type` varchar(300) NOT NULL,
`group` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
И таблица users, где находятся пользователи сайта.
Вопрос:
Как сделать обработку INNER/LEFT/RIGHT JOIN
Условия запроса:
Сделать приглашение
1. Всех кто в онлайне (time() - 300) - 5 минут игрок в онлайне
2. Если пригласил я, то вывод строки из таблицы не осуществлять
3. Если пригласил другой пользователь, то я могу приглашать
Пробовал делать такой запрос
<?
SELECT
`users`.`time` ,
`users`.`id` AS `user_id` ,
`ugroup_list`.`uid` ,
`ugroup_list`.`lider` ,
`ugroup_list`.`type` ,
`ugroup_list`.`group`
FROM
`ugroup_list`
RIGHT JOIN `users` ON `ugroup_list`.`uid` = `users`.`id`
WHERE
`users`.`time` > '".(time() - 300)."'
AND
(
`ugroup_list`.`uid` IS NULL
OR
`ugroup_list`.`lider` != '".$lider['id']."'
AND
`ugroup_list`.`type` = 'operation-insert'
AND
`ugroup_list`.`group` = '0'
)
?>
------

Скачиваний: 89
________
посл. ред. 03.02.2019 в 13:07; всего 5 раз(а); by Николай Карамышев
Нужно чтобы вернулись только то, что в красном квадрате
------
61403_Screenshot_2.png (6.0 Kb)
Скачиваний: 102
------

Скачиваний: 102
Николай Карамышев, структуру двух таблиц напиши
where utime.uid = ‘’ and utime.type = ‘’
Николай Карамышев, IS NULL
SELECT
`users`.`id` AS `user_id` ,
`utime`.`uid` ,
`utime`.`type`
FROM `users`
LEFT JOIN `utime` ON `users`.`id` = `utime`.`uid`
WHERE `utime`.`type` is NULL
ORDER BY `user_id` ASC
LIMIT 0 , 6
А разве при запросе WHERE нагрузка в данном случае не большая будет, учитывая многотысячные записи в таблицах?
Николай Карамышев (16.01.2019 в 16:42)
А разве при запросе WHERE нагрузка в данном случае не большая будет, учитывая многотысячные записи в таблицах?
А разве при запросе WHERE нагрузка в данном случае не большая будет, учитывая многотысячные записи в таблицах?
нагрузка не будет большой даже при миллионе записей
Здесь JOIN не обязателен, достаточно многотабличного запроса
Сибирский (03.02.2019 в 13:04)
Здесь JOIN не обязателен, достаточно многотабличного запроса
Здесь JOIN не обязателен, достаточно многотабличного запроса
Хм, пример можно. И ведь всё же это нагрузка будет на сервер
Стр.: 1, 2