|
Помогите составить запрос (SELECT в качестве LIMIT'a для другого SELECT'a)
|
|||
---|---|---|---|
#18+
Добрый вечер! Подскажи, как в качестве значения LIMIT использовать значение полученное из SELECT ? Сейчас имею два запроса: Код: sql 1. 2. 3.
Составлены из клочков того что нашел в интернете, но в принципе нужный результат почти получил... Нужно чтобы значение полученное из первого SELECT использовалось в качестве LIMIT для второго. т.е. сейчас первый SELECT возвращает значение 21, вот его нужно внедрить во второй SELECT вместо 22. Общая информация: Имеется 2 таблицы: 1.Numbers (1 столбец Number со значениями 1-10000) 2.Listy там много данных но для выборки интересует столбец Nomer Нужно получить: 1. Все номера которых нет в `Listy`.`Nomer` и которые меньше чем максимальное значение `Listy`.`Nomer` 2. Плюс к ним добавить необходимое количество номеров из `Listy`.`Nomer` начиная с максимального для того чтобы общее количество было равно 22. *в случае если по первому пункту получается >=22 значения, необходимо вывести 22 из них с наименьшим номером. Запросы которые в начале поста это все смог найти и применить из google. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2019, 23:59 |
|
Помогите составить запрос (SELECT в качестве LIMIT'a для другого SELECT'a)
|
|||
---|---|---|---|
#18+
Еще немного размышлений... дошел до такого запроса Код: sql 1. 2. 3. 4.
Вроде как выдает нужный результат (условие под * не проверял) Но как то все громоздко получилось... думаю есть способ все это упростить)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 00:21 |
|
Помогите составить запрос (SELECT в качестве LIMIT'a для другого SELECT'a)
|
|||
---|---|---|---|
#18+
условие под * выполняется.... Буду рад замечаниям/советам где я слишком много костылей нагородил.... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 00:25 |
|
Помогите составить запрос (SELECT в качестве LIMIT'a для другого SELECT'a)
|
|||
---|---|---|---|
#18+
wlad1164Подскажи, как в качестве значения LIMIT использовать значение полученное из SELECT ?Именно через LIMIT нельзя, там допустим только литерал, но не выражение. Можно разными путями: 1) Как у вас - добивкой через UNION ALL до нужного количества записей. 2) С помощью переменных - завести поле-переменную-счетчик и фильтровать по ней. 3) С помощью prepared statement - они позволяют подставить свое значение в LIMIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 13:17 |
|
|
start [/forum/topic.php?fid=47&fpage=38&tid=1829267]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
others: | 307ms |
total: | 436ms |
0 / 0 |