Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.035 c
14-1083091612
RealRascal
2004-04-27 22:46
2004.05.23
Размер объекта в памяти


6-1081322235
Srg
2004-04-07 11:17
2004.05.23
Indy DEMO


14-1083526687
Piter
2004-05-02 23:38
2004.05.23
Пропаганда пива


7-1081869416
ZSD
2004-04-13 19:16
2004.05.23
Рабочий стол


1-1084183640
Beton-Karton
2004-05-10 14:07
2004.05.23
Как работать с наладонником из Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский