Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Помогите с запросом в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
4-1081256565
Kme
2004-04-06 17:02
2004.05.23
Безвозвратное удаление


3-1083238617
IBNovice
2004-04-29 15:36
2004.05.23
Filter


14-1083737715
Шишкин Илья
2004-05-05 10:15
2004.05.23
Проверьте работоспособность кода в Windows98


1-1083926224
Vadim S
2004-05-07 14:37
2004.05.23
Где живет TBrowseInfo?


1-1084188993
Sonic_gd
2004-05-10 15:36
2004.05.23
Нужно присвоить нажатию кнопки на форме...