powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Question about correlation name in SQL-query (ASE v.15)
9 сообщений из 9, страница 1 из 1
Question about correlation name in SQL-query (ASE v.15)
    #34542298
Alexander Mushnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi all.
Имеем дело с сервером Sybase - Adaptive Server Enterprise version 15 (ASE v.15).

не выполняется запрос следующего вида:

select count(*) as ff,
(select b from t2 where field = ff)
from t3;

сервер ругается так:" invalid column name ff ";

ГУРУ, подскажите как правильно составить подобный запрос, без "много-этажности" ???


я пробовал еще так:
select count(*) as ff,
(select b from t2 where field=ccc.ff )
from t3 ccc;
та же реакция...

С уважением, Александр.
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542342
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Mushnikov пишет:
> не выполняется запрос следующего вида:
>
> select count(*) as ff,
> (select b from t2 where field = ff)
> from t3;

Поля внешних таблиц не видны без алиаса во вложенных подзапросах. Надо писать так :

Код: plaintext
1.
2.
3.
4.
select
   t3.xxx as ff,
   (select b from t2 where field = t3.xxx)
from t3;

НО!

В подзапросе нельзя коррелироваться по результатам выполнения агрегации.
COUNT(*) НЕ ИЗВЕСТНО еще на момент выполнения поздапроса.
Поэтому так писать вообще нельзя. Это можно сделать с использованием
derived table (она же in-place view) :

Код: plaintext
1.
2.
3.
  SELECT a.ff, b.*
  FROM ( select count(*) as ff from t3 ) as a
  join t2 b on b.field = a.ff

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542499
Alexander Mushnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем удачный пример.

select t1.field as ff,
(select t2.field from t2 where t2.field1=ff)
from t1

или более приближенный

select ....
(select f1 from t1 where field=111) as ff,
(select f2 from t2 where field=ff)
from tt....


Вопрос был о том, как добраться до алиаса, прошу не искать смысла запроса или обходных маневрев.
Как обходить я знаю.
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542595
moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Касательно алиасов столбцов
The correlation name is included in the output only if a correlation name was used in the query. The correlation name is especially useful when you are trying to analyze the output from subqueries
or queries doing self-joins on a table...

Т.к. была притензия типа "прошу не искать смысла запроса или обходных маневрев" то вариантов решения не предлагаю
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542620
alexmush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.

Крайне неудобно.... Я думал в 15 версии сдвинулось что-то в этом вопросе.

зы. не надо расценивать просьбу, как претензию :)
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542666
moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexmushЯ думал в 15 версии сдвинулось что-то в этом вопросе.


Для того, чтобы не думать, а точно знать, что изменилось в ASE15 можно прочитать документ What’s New In Adaptive Server Enterprise?
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542714
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexmush пишет:
> Крайне неудобно.... Я думал в 15 версии сдвинулось что-то в этом вопросе.

Что должно там измениться ? Имена полей во внешних по отношению к подзапросу
таблицах должны быть в обязательном порядке указаны через алиас.
Это чуть ли не в стандарте прописано.
Что тут неудобного ? Вообще ничего.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542721
alexmush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Истина. Там не видел. Однако, могли и не описать такие 'мелочи', а реализация могла вполне оставить
дыру для какого либо trick.
...
Рейтинг: 0 / 0
Question about correlation name in SQL-query (ASE v.15)
    #34542766
alexmush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
alexmush пишет:
> Крайне неудобно.... Я думал в 15 версии сдвинулось что-то в этом вопросе.

Что должно там измениться ? Имена полей во внешних по отношению к подзапросу
таблицах должны быть в обязательном порядке указаны через алиас.
Это чуть ли не в стандарте прописано.
Что тут неудобного ? Вообще ничего.
Posted via ActualForum NNTP Server 1.4

Здесь (не входя во флейм) хочется привести в пример ASA, где query processing куда более гибок.
Неудобство здесь одно: многоэтажные запросы.

Спасибо еще раз. Вопрос снят.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Question about correlation name in SQL-query (ASE v.15)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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