Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уровень вложенности алиаса / 6 сообщений из 6, страница 1 из 1
24.05.2014, 21:13:18
    #38651091
Bartholomew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уровень вложенности алиаса
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT c.* 
FROM   `comments` AS c 
WHERE  c.`id` <= Ifnull((SELECT Min(s.id) 
                         FROM   (SELECT id 
                                 FROM   comments 
                                 WHERE  nid = c.nid 
                                 ORDER  BY id DESC 
                                 LIMIT  3) AS s), ~ 0) 
       AND c.`nid` IN ( '17', '16' ) 



Есть такой запрос, валится "Unknown column 'c.nid' in 'where clause'" но nid есть в таблице, я грешу а уровень вложенности, помогите разобраться. Спасибо.
...
Рейтинг: 0 / 0
24.05.2014, 22:44:31
    #38651142
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уровень вложенности алиаса
Bartholomew,

а смысл этой комбинации можете словами объяснить?
...
Рейтинг: 0 / 0
24.05.2014, 23:03:50
    #38651151
Bartholomew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уровень вложенности алиаса
miksoft, конечно-конечно.
Для каждого нового Nid, я выбираю три последних комментария. Подзапрос выбирает идентификатор третьего по убыванию комментария, если такого не будет, вернет максимальное число, а после, я выбираю все комментарии у которых идентификатор больше либо равен найденному. Т.о. для каждого Nid выбирается 3 последних комментария (или все если их меньше 3).
...
Рейтинг: 0 / 0
25.05.2014, 00:26:17
    #38651197
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уровень вложенности алиаса
Bartholomew,

вроди где-то мне тоже встречались непонятки с
алиасом в вложеных подселектах.

Если я правильно понял задачу то посмотрите здесь 7489069 .
...
Рейтинг: 0 / 0
25.05.2014, 02:29:26
    #38651220
Bartholomew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уровень вложенности алиаса
javajdbc, спасибо. Мне кажется существует более тривиальное решение "одним" запросом. Надеюсь знающие люди помогут.
...
Рейтинг: 0 / 0
25.05.2014, 07:09:49
    #38651239
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уровень вложенности алиаса
Bartholomewmiksoft, конечно-конечно.
Для каждого нового Nid, я выбираю три последних комментария. Подзапрос выбирает идентификатор третьего по убыванию комментария, если такого не будет, вернет максимальное число, а после, я выбираю все комментарии у которых идентификатор больше либо равен найденному. Т.о. для каждого Nid выбирается 3 последних комментария (или все если их меньше 3).

как выбрать не вникая в переменные, три последних а потом взять из них первый(ну или последний по убыванию)
Код: sql
1.
select * from (select * from table order by target desc limit 3) t order by target limit 1



правда не совсем понятно, почему если третего нету, то вернёт максимальный а не второй???
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уровень вложенности алиаса / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]