powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уровень вложенности алиаса
6 сообщений из 6, страница 1 из 1
Уровень вложенности алиаса
    #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
Уровень вложенности алиаса
    #38651142
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bartholomew,

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

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

Если я правильно понял задачу то посмотрите здесь 7489069 .
...
Рейтинг: 0 / 0
Уровень вложенности алиаса
    #38651220
Bartholomew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc, спасибо. Мне кажется существует более тривиальное решение "одним" запросом. Надеюсь знающие люди помогут.
...
Рейтинг: 0 / 0
Уровень вложенности алиаса
    #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
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уровень вложенности алиаса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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