|
|
|
select без from
|
|||
|---|---|---|---|
|
#18+
Всем мое приветствие и благодарность. Вопрос такой. Аксесс 2000. Пишу в запросе select 1 as a и без указания from - работает, выдает одну запись. Пытаюсь писать select 1 as a union all select 2 as a - не работает, выдает синтаксическую ошибку (Query input must contain at least one table or query). В чем состоит логика? Когда можно и когда нельзя писать select без from? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 17:19:04 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
И вопрос вдогонку. Поскольку select 1 as a union all select 2 as a не работает, то существует ли другой способ получить запрос из двух записей без ссылок на физические таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 17:22:28 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
ןס- предполагается наличие какой либо базы, ибо пример чисто теоретический ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 19:49:38 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Владимир СанычИ вопрос вдогонку. Поскольку select 1 as a union all select 2 as a не работает, то существует ли другой способ получить запрос из двух записей без ссылок на физические таблицы? если слово "запрос" заменить словом "рекордсет, то в ADO - существует. Можно сформировать и заполнить рекордсет, не связанный ни с какими таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 20:18:18 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Alexanderikןס- предполагается наличие какой либо базы, ибо пример чисто теоретический ? Пример глобальный. Это вещь, которая могла бы пригодиться в разных базах и в разных случаях. Victoshaесли слово "запрос" заменить словом "рекордсет, то в ADO - существует. Можно сформировать и заполнить рекордсет, не связанный ни с какими таблицами. Это я знаю. Но мне это, к сожалению, не годится. Хочется получить именно селект, который можно было бы использовать в Record/RowSource'е чего-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 20:33:03 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч Alexanderikןס- предполагается наличие какой либо базы, ибо пример чисто теоретический ? Пример глобальный. Это вещь, которая могла бы пригодиться в разных базах и в разных случаях. Victoshaесли слово "запрос" заменить словом "рекордсет, то в ADO - существует. Можно сформировать и заполнить рекордсет, не связанный ни с какими таблицами. Это я знаю. Но мне это, к сожалению, не годится. Хочется получить именно селект, который можно было бы использовать в Record/RowSource'е чего-нибудь. понял. Тогда вопрос - почему не годится вариант задания Record/RowSource'а как "набора значений" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 20:39:25 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Да, с RowSource'ом я погорячился. Вопрос остается для RecordSource'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 20:52:14 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Саныч, я НЕ ЗНАЮ ответа на вопрос ПОЧЕМУ он так работает/не работает. Поэтому приношу извинения за "замусоривание" потока. Возможно (чистая гипотеза, полученная методом послюнявливания пальца с последующим приложением его ко лбу), работа UNION организована так, что перед непосредственным объединением данные отбираются во временные таблицы, в соответствии с селектами между предложением UNION. Чистый же вычислительный запрос минует образование временных таблиц, пригодных для UNION. Однако, на мой взгляд, практического интереса сия "теоретическая" гипотеза не представляет, независимо от того "похожа она на правду или нет". В любом слумае рабочим оказывается вариант с заведением таблицы специального вида (ака DUMMY), содержащей строго ОДНУ строку. тогда вычислительная операция SELECT 1 AS F1 FROM DUMMY UNION SELECT 2 AS F1 FROM DUMMY UNION SELECT 3 AS F1 FROM DUMMY ... Некоторую проблему можетт составить обеспечение того обстоятельства, что упомятая таблица всегда обязана содержать строго одну строку. и ее исчезновение/или добавление строк должно рассматриваться как гарушение структуры таблицы. ЗЫ там где есть рекордсоурс, там почти всегда есть рекордсет. Так что альтернатива с принудительно сформированным рекордсетом адо, на мой взгляд тоже интересна. Не знаю, окажется ли она "лучше" хоть в каком-нибудь отношении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 21:15:04 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
VictoshaВ любом слумае рабочим оказывается вариант с заведением таблицы специального вида (ака DUMMY), содержащей строго ОДНУ строку. тогда вычислительная операция SELECT 1 AS F1 FROM DUMMY UNION SELECT 2 AS F1 FROM DUMMY UNION SELECT 3 AS F1 FROM DUMMY В моих системах такая таблица как правило есть, и я именно такой юнион сегодня и написал. Но все-таки интересно, единственный ли это способ... Victoshaтам где есть рекордсоурс, там почти всегда есть рекордсет. Так что альтернатива с принудительно сформированным рекордсетом адо, на мой взгляд тоже интересна. Не знаю, окажется ли она "лучше" хоть в каком-нибудь отношении. Но для этого нужно писать много строк кода. Мне сегодня понадобилось сделать отчет, в котором одна очень простая схема повторялась бы два раза с немножко разными данными. Хотел написать такой фиктивный селект из 2 записей, и не вышло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 21:21:54 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Саныч, бросай ты этот Аксес, переходи на SqlServer :). Там то, что ты хочешь-стандартная (и очень полезная фича) Кстати ,если у тебя ADP то это элементарно делается З.Ы Необязательно использовать Dummy таблицу, можно любую системную, только вместо union all надо union ,чтобы убрать дупликаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:08:47 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Понял, спасибо. Увы, mdb. И убирать дупликаты не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:09:49 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
А с системной таблицей, наверно, будет работать медленно, пропорционально размеру таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:10:51 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Сорри, что то стал заикаться :) авторИ убирать дупликаты не хочу. Тогда Dummy. А можно полюбопытствоть. Зачем Гуре Аксеса дупликаты, да и в еще искусственно созданном наборе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:16:40 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
авторА с системной таблицей, наверно, будет работать медленно, пропорционально размеру таблицы? Пропорционально размеру -это безусловно. А вот медленно-все в мире относительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:19:56 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
(c)VIGТогда Dummy. Жалко, что я в mdb. (c)VIGА можно полюбопытствоть. Зачем Гуре Аксеса дупликаты, да и в еще искусственно созданном наборе? Я не гуря. :^) Собственно говоря, если я пишу так, как написано в самом первом посте, то union и union all сработают одинаково. Просто, как я понимаю, операция убирания дупликатов тоже занимает время, тогда как их у меня с самого начала нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:23:40 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Саныч, за удовольствия надо платить, или наличием искусственной таблицы с одной записью, или убиранием дупликатов из системной таблицы ,зато которая всегда имеется в наличии. З.Ы А вообще-то ребятам из Редмонда руги надо повыдергивать из одного места.Или делать что-то как положено, или вообще не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:39:46 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Я им передам. :^) Thanx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 22:47:46 |
|
||
|
select без from
|
|||
|---|---|---|---|
|
#18+
Только не забудь.:) З.Ы Я имел в виду ноги , а не руки.Хотя и руки то же можно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 23:06:44 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32620417&tid=1672956]: |
0ms |
get settings: |
4ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 188ms |
| total: | 297ms |

| 0 / 0 |
