![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с запросом в MSSQL [D7, MSSQL]
Vilux © (2004-04-25 08:49:00)Есть запрос, описанный ниже. При работае с Access БД он выполнялся нормально, а при переходе на MSSQL стал выдавать ошибку
"The ORDER BY clause is invalid in views,inline functions, derived tables, and subqueries, unless TOP is also specified."
Я не силен в MSSQL, поэтому прошу помочь, как надо исправить запрос?
Вот сам запрос
select left(cname,1) as ch from (SELECT Cards.CardID, Cards.Name AS cName, Cards.ParentID, Cards_1.Name as pName, Streets.Name AS stName, Addresses.Build, Addresses.Transport FROM (Streets INNER JOIN (Addresses INNER JOIN (Cards INNER JOIN CardLinks ON Cards.CardID = CardLinks.CardID) ON Addresses.AddrID = Cards.AddrID) ON Streets.StreetID = Addresses.StreetID) LEFT JOIN Cards AS Cards_1 ON Cards.ParentID = Cards_1.CardID GROUP BY Cards.CardID, Cards.Name, Cards.ParentID, Cards_1.Name, Streets.Name, Addresses.Build, Addresses.Transport ORDER BY Cards.Name'#$D#$A') group by left(cname,1) order by left(cname,1)'#$D#$A
mtihonov (2004-04-26 08:32:00) [1]надо писать
select t1.*
from (select * from Table0 ) t1
RusGrek (2004-04-26 08:30:00) [2]В Help'e написано
[ FROM { < table_source > } [ ,...n ] ]
где
< table_source > ::=
table_name и т.д.
поэтому если написать
s:='SELECT * FROM (select * from Streets) Street2';
то все будет ОК.
mtihonov (2004-04-26 08:30:00) [3]Запросы типа
select *
from (select * from Table)
на mssql не проходят
Polevi (2004-04-26 08:26:00) [4]SELECT t.* FROM (select * from Streets) t
Vilux (2004-04-26 07:41:00) [5]Я пытаюсь выполнить следующее
s:='SELECT * FROM (select * from Streets)';
q:=TAdoquery.Create(nil);
q.Connection:=conn;
q.SQl.Clear;
q.SQL.Add(s);
q.Open;
Так у меня ошибка вылетает
raised exception class EOleException with message 'Line 1: Incorrect syntax near ')'
Что за фигня?
Причем запрос
select * from Streets
выполняется...
Хелп!!!
DarkMan (2004-04-26 05:19:00) [6]Создай такой же запрос на MSSQL и скорей всего он будет работать и там и там
MOA (2004-04-25 12:03:00) [7]А зачем сортировать подзапрос? Отнюдь не факт, что эта сортировка как-то сохранится в результате.
Polevi (2004-04-25 09:49:00) [8]ты ссобщение об ошибке перевел ?
select top 10 left(cname,1) as ch from .....