Главная страница
    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.036 c
1-1084277129
kot_phg
2004-05-11 16:05
2004.05.23
Как с OLE вытащить данные


7-1081528573
Sur
2004-04-09 20:36
2004.05.23
тип микропроцессора


9-1073597441
Black Fury
2004-01-09 00:30
2004.05.23
Как организовать одновременную работу процессов, без тормозов


3-1083138832
Viktor
2004-04-28 11:53
2004.05.23
pack table


14-1083436789
RealRascal
2004-05-01 22:39
2004.05.23
Ярлыком выключить монитор





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