В документации приведены примеры вложенных запросов.
Код: Выделить всё
Пример 1. Вложенный запрос включается в список таблиц для выборки.
select * from
SomeTable1,
(select Sum(someField) from SomeTable2)
;
Код: Выделить всё
Пример 2. Результирующему полю назначается имя. Теперь к нему можно обращаться из внешней ЛТ или использовать в качестве видимого поля интерфейса.
select someFieldName from
SomeTable1,
(select Sum(someField) (fieldName "someFieldName") from SomeTable2)
;
Код: Выделить всё
Пример 3. Вложенному запросу назначается имя.
select SomeSynonym.* from
SomeTable1,
(select Sum(someField) from SomeTable2) SomeSynonym
;
Код: Выделить всё
Пример 4. В условии where вложенного запроса используются поля внешней ЛТ. Также возможно использование других доступных величин.
select * from
SomeTable1,
(select Sum(someField) from SomeTable2 where ((SomeTable1.id1 == SomeTable2.id2)))
;
Код: Выделить всё
.LinkForm DOGOVOR_CALPLAN_01 Prototype is 'DOGOVOR_CALPLAN'
!Чтобы перекрыть стандартную форму
.NameInList 'График платежей к договору'
.create view dog as
select * from DOGOVOR, PLATDOG,
(SELECT COUNT(*)(FieldName 'UNT') FROM PLATDOG WHERE ((DOGOVOR.NREC == PLATDOG.CDOGOVOR)));
.create view dog1 as
select * from DOGOVOR, PLATDOG,
(SELECT COUNT(*)(FieldName 'UNT') FROM PLATDOG WHERE ((DOGOVOR.NREC == PLATDOG.CDOGOVOR))) CO;
.begin
var i : WORD;
i := 0;
dog._loop PLATDOG {
i := dog.UNT;
}
var j : WORD;
j := 0;
dog1._loop PLATDOG {
j := dog1.CO.UNT;
}
end.
.{
.if DOGOVOR_CALPLAN01
.if DOGOVOR_CALPLAN02
.else
.end
.{
.}
.else
.end
.if DOGOVOR_CALPLAN03
.{
.if DOGOVOR_CALPLAN04
.else
.end
.if DOGOVOR_CALPLAN05
.{
.}
.else
.end
.}
.else
.end
.}
.endform
Ошибка: Нет такой функции, поля или метода : DOG.UNT (стр. 22, поз. 21, ...)
и
Ошибка: Нет такой функции, поля или метода : DOG1.CO.UNT (стр. 20, поз. 25, ...)
Это происходит и в Випере и в Саппорте при компиляции формы, а также при выполнении запроса в Саппорте. Т.е. вообще не работает никак.
Версия Атлантиса 5.4.x
Хотелось бы разъяснить ситуацию и узнать где ошибка, в нашей форме или в документации?
А еще больше, хотелось бы узнать как сделать, чтобы заработали вложенные запросы!