Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизПомогите с запросом в MSSQL Найти похожие ветки
← →
Vilux © (2004-04-25 08:49) [0]Есть запрос, описанный ниже. При работае с 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
← →
Polevi © (2004-04-25 09:49) [1]ты ссобщение об ошибке перевел ?
select top 10 left(cname,1) as ch from .....
← →
MOA © (2004-04-25 12:03) [2]А зачем сортировать подзапрос? Отнюдь не факт, что эта сортировка как-то сохранится в результате.
← →
DarkMan (2004-04-26 05:19) [3]Создай такой же запрос на MSSQL и скорей всего он будет работать и там и там
← →
Vilux © (2004-04-26 07:41) [4]Я пытаюсь выполнить следующее
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
выполняется...
Хелп!!!
← →
Polevi © (2004-04-26 08:26) [5]SELECT t.* FROM (select * from Streets) t
← →
RusGrek (2004-04-26 08:30) [6]В Help"e написано
[ FROM { < table_source > } [ ,...n ] ]
где
< table_source > ::=
table_name и т.д.
поэтому если написать
s:="SELECT * FROM (select * from Streets) Street2";
то все будет ОК.
← →
mtihonov © (2004-04-26 08:30) [7]Запросы типа
select *
from (select * from Table)
на mssql не проходят
← →
mtihonov © (2004-04-26 08:32) [8]надо писать
select t1.*
from (select * from Table0 ) t1
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c