powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как одним запросом получить все буквы алфавита ?
25 сообщений из 25, страница 1 из 1
Как одним запросом получить все буквы алфавита ?
    #37904894
Cyrax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как одним запросом получить все буквы алфавита ? Без создания временных таблиц.
Понятно, что запросу не нужны будут никакие таблицы. И без функций, похоже, тоже не обойтись.
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904911
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПонятно, что запросу не нужны будут никакие таблицы.запрос без таблицы? новое слово в sql?
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904915
ksv55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax,
Код: plsql
1.
2.
3.
SELECT
  CHR(ROWNUM+ASCII('А')-1)ch
FROM dual t CONNECT BY ROWNUM <=32
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904916
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax,

Код: sql
1.
2.
SELECT TOP 1 "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" AS Алфавит
FROM msysobjects;


это чтоль?
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904917
ksv55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax,
извиняюсь, не в тот форум попал - рецепт для Oracle
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904918
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportCyrax,

Код: sql
1.
2.
SELECT TOP 1 "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" AS Алфавит
FROM msysobjects;


это чтоль?
нуу, тогда уже так,
что б, "савсем-савсем" по ТЗ было :))

Код: sql
1.
SELECT TOP 1 "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" AS Алфавит



но, он же щас "в столбик", попросит ...
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904923
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112,

ну тады и TOP 1 не нужен , а в столбик пусть сам решает ... не маленький )))))
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904939
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT "A" AS letter
UNION
SELECT "B" AS letter
....
SELECT "Z" AS letter
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904944
Cyrax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторно, он же щас "в столбик", попросит ...
А столбиком - это как ? Матрица ш_оль ?

авторSELECT "A" AS letter
UNION
SELECT "B" AS letter
....
SELECT "Z" AS letter
Работать не будет. Нужна хотя бы одна таблица.
Например, так:
Код: plsql
1.
2.
3.
4.
SELECT "A" AS letter FROM msysobjects
SELECT "B" AS letter FROM msysobjects
....
SELECT "Z" AS letter FROM msysobjects



В любом случае необходимо более лаконичное решение.
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904952
Norvеg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyraxавторно, он же щас "в столбик", попросит ...
А столбиком - это как ? Матрица ш_оль ?

авторSELECT "A" AS letter
UNION
SELECT "B" AS letter
....
SELECT "Z" AS letter
Работать не будет. Нужна хотя бы одна таблица.
Например, так:
Код: plsql
1.
2.
3.
4.
SELECT "A" AS letter FROM msysobjects
SELECT "B" AS letter FROM msysobjects
....
SELECT "Z" AS letter FROM msysobjects



В любом случае необходимо более лаконичное решение.

Циклом по коду символа
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904955
йййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
select top 32 chr(count(t2.id)+224) as letter
from msysobjects as t1 
  left join msysobjects as t2 on t2.id<t1.id
group by t1.id
order by t1.id
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37904975
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
йййй,

браво, а щас предвижу следующий вопрос - "А у меня в msysobjects всего 23 (22, 21) записей и , соответственно выдает не все буквы алфавита"
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905000
Cyrax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Код: plsql
1.
2.
3.
4.
5.
select top 32 chr(count(t2.id)+224) as letter
from msysobjects as t1 
  left join msysobjects as t2 on t2.id<t1.id
group by t1.id
order by t1.id


Решение на твёрдую четвёрочку.
Корректность выполнения задачи зависит от:
а) числа записей в таблице msysobjects
б) наличия в таблице уникального поля "id"

автора щас предвижу следующий вопрос - "А у меня в msysobjects всего 23 (22, 21) записей и , соответственно выдает не все буквы алфавита"
Записей там предостаточно. В нулёвой базе - 21 (если правильно посчитал).
А вообще, можно и подстраховаться:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(select top 16 chr(count(t2.id)+224) as letter
from msysobjects as t1 
  left join msysobjects as t2 on t2.id<t1.id
group by t1.id
order by t1.id)
UNION
(select top 16 chr(count(t2.id)+224+16) as letter
from msysobjects as t1 
  left join msysobjects as t2 on t2.id<t1.id
group by t1.id
order by t1.id)
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905006
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax,

авторРешение на твёрдую четвёрочку.


А теперь опубликовал бы и на "пятерочку"))))) а заодно объяснил бы за каким весь этот "огород"?
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905042
йййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyraxспасибопожалуйста
CyraxКорректность выполнения задачи зависит от:
а) числа записей в таблице msysobjectsЕсли у вас в базе больше одной-двух форм, то там наберется нужное число записей.
Cyraxа) числа записей в таблице msysobjects
б) наличия в таблице уникального поля "id"Вы бы посмотрели на эту таблицу что ли.
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905050
?????
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
select chr(n) as Letter from 
     (select (d2.digit & d1.digit & d0.digit)+1 AS n
      from digits AS d0, digits AS d1, digits AS d2)
where n between 192 and 223
union
select  chr(168) from digits order by 1;
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905108
ChaosMP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ksv55Cyrax,
извиняюсь, не в тот форум попал - рецепт для Oracle

Решение для Oracle:
Код: plsql
1.
select chr(ascii('А')+(level-1)) from dual connect by level<=32
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905127
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChaosMP,

первый хоть извинился ...
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905142
Cyrax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЕсли у вас в базе больше одной-двух форм, то там на1берется нужное число записей.
В общем случае возможно и такое, что не наберётся. Скажем, в какой-либо версии Access.

авторВы бы посмотрели на эту таблицу что ли.
Ну, от количества просмотров таблицы зависимость корректности результата выполнения запроса от наличия в таблице msysobjects уникального поля "id" не исчезнет. Иными словами, Ваш вариант зависит от ряда частностей и привязан к конкретной СУБД. А необходим более универсальный вариант.

?????
Код: sql
1.
2.
3.
4.
5.
6.
select chr(n) as Letter from 
     (select (d2.digit & d1.digit & d0.digit)+1 AS n
      from digits AS d0, digits AS d1, digits AS d2)
where n between 192 and 223
union
select  chr(168) from digits order by 1;


А таблицу digits где брать ?
В БД её нет и не должно быть.
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905147
Cyrax,

это запрос (автор BoNim)... Поиск по Форуму не работает? Или совсем расслабился и обленился???? :_)))) Накажу... )))
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905153
Cyrax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПоиск по Форуму не работает?
Модуль Телепатии не работает.

авторэто запрос (автор BoNim)
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=535505&msg=5414410

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SELECT TOP 1 0 AS digit FROM msysobjects
UNION All
SELECT TOP 1 1 FROM msysobjects
UNION All 
SELECT TOP 1 2 FROM msysobjects
UNION All
SELECT TOP 1 3 FROM msysobjects
UNION All
SELECT TOP 1 4 FROM msysobjects
UNION All
SELECT TOP 1 5 FROM msysobjects
UNION All
SELECT TOP 1 6 FROM msysobjects
UNION All
SELECT TOP 1 7 FROM msysobjects
UNION All
SELECT TOP 1 8 FROM msysobjects
UNION ALL 
SELECT TOP 1 9 FROM msysobjects

select chr(n) as Letter from 
     (select (d2.digit & d1.digit & d0.digit)+1 AS n
      from digits AS d0, digits AS d1, digits AS d2)
where n between 192 and 223
union
select  chr(168) from digits order by 1



По универсальности на 5 баллов тянет.
Но по громоздкости не уступает варианту
Код: plsql
1.
2.
3.
4.
SELECT "A" AS letter FROM msysobjects
SELECT "B" AS letter FROM msysobjects
....
SELECT "Z" AS letter FROM msysobjects
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905166
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax,

хм, 9 юнион и 26 + n всё-таки разные вещи, к тому же digits вам ещё пригодится (интуитивно).
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905172
Телепят
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax,

запрос то - СОХРАНЕННЫЙ! Дурилка картонная :)
Включай уже "телепятию" :)

А код на 5+ по всем твоим глубоким критериям - тебе написали ещё в самом начале чата
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905181
йййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CyraxавторВы бы посмотрели на эту таблицу что ли.
Ну, от количества просмотров таблицы зависимость корректности результата выполнения запроса от наличия в таблице msysobjects уникального поля "id" не исчезнет. Иными словами, Ваш вариант зависит от ряда частностей и привязан к конкретной СУБД. А необходим более универсальный вариант.Да, но в таблице msysobjects уникальное поля "id" есть. Причем всегда есть. Иными словами, вариант не привязан к конкретной субд (если мы говорим об акцессе. Варианты для оракла 2 раза предлагались )
...
Рейтинг: 0 / 0
Как одним запросом получить все буквы алфавита ?
    #37905213
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ййййВарианты для оракла 2 раза предлагались

Теперь надо для мускула наверное.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как одним запросом получить все буквы алфавита ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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