Главная страница
    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
9-1074195994
Zak3D[@Tm]
2004-01-15 22:46
2004.05.23
Опять fps...


14-1082982732
Drakon
2004-04-26 16:32
2004.05.23
Использование нелицензионной версии Delphi


6-1078932343
AlexeyITN
2004-03-10 18:25
2004.05.23
Опять NET SEND


1-1083742334
AntonSh
2004-05-05 11:32
2004.05.23
Класс TList


3-1083326791
Mister
2004-04-30 16:06
2004.05.23
MySQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский