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

Вниз

SQL запрос   Найти похожие ветки 

 
Chainik ©   (2002-06-03 11:11) [0]

Здравствуйте, уважаемые мастера! Помогите, пожайлуста, составить запрос, а то у меня че то не выходит(может синтаксис неверен?)
при такой конструкции:
....
with Query1 do begin
SQL.Clear;
SQL.Add("insert into C:\Temp\temp.dbf (Ccn1,Count) select Ccn,COUNT(*) FROM + "FileName" + GROUP BY Ccn");
SQL.Open;
end;
...
дельфя начинает ругаться, что мол синтаксис неправильный!Как будет правильно?


 
Val ©   (2002-06-03 11:57) [1]

попробуйте выполнить свой запрос из SQL-explorer, вообще, у Local-SQL, по моему, какие-то проблемы со вставкой из подзапроса. И лучше переименовать в таблице temp поле Count - это служебное слово.


 
asafr ©   (2002-06-03 12:41) [2]

А не так Ли надобно исправить?
"insert into C:\Temp\temp.dbf (Ccn1,Count) select Ccn,COUNT(*) FROM" + FileName + "GROUP BY Ccn"


 
PSZ   (2002-06-03 12:56) [3]

А еще может быть так:
"insert into ""C:\Temp\temp.dbf"" (Ccn1,Count) select Ccn,COUNT(*) FROM" + FileName + "GROUP BY Ccn"


 
Chainik ©   (2002-06-03 13:05) [4]

>Val Пробовал в Explorer"e такая же ошибка
Переименовал.Если проблемы со вставкой подзапроса, то как быть?.Мне нужно чтобы запрос выполнялся динамически в проге.

>asafr
Пишет [MS ODBC Visual FoxPro Driver]Syntax error.".


 
yozhik   (2002-06-03 13:16) [5]

или так:
"insert into ""C:\Temp\temp.dbf"" (Ccn1,Count) select Ccn,COUNT(*) FROM" "" + FileName + "" "GROUP BY Ccn"


 
Chainik ©   (2002-06-03 13:19) [6]

>PSZ Не идет и все тут!!!
Открыл MS VFoxPro и там не идет. Однозначно что-то с синтаксом.Но какой он должен быть???


 
Chainik ©   (2002-06-03 13:30) [7]

В принципе вопрос стоит такой: мне нужно сохранить резулт запроса в таблице(временной).Может быть использовать что-то другое, кроме вставки?


 
Val ©   (2002-06-03 13:34) [8]

а можно текст запроса, у вас получается?


 
yozhik   (2002-06-03 13:35) [9]

а так "insert into "C:\Temp\temp.dbf" (Ccn1,Count) select Ccn,COUNT(*) FROM "" + FileName + "" GROUP BY Ccn"?


 
Chainik ©   (2002-06-03 13:59) [10]

>yozhik (03.06.02 13:35)
<а так "insert into "C:\Temp\temp.dbf" (Ccn1,Count) select Ccn,COUNT(*) FROM "" + FileName + "" GROUP BY Ccn"?>
И так не идет!Проверил на вставку единичного значения
"insert into C:\Temp\temp.dbf (T,Kolvo) values ("01", "500")"- идет! А с подзапросом - не хочет!


 
yozhik   (2002-06-03 14:21) [11]

а какую ошибку выдает?


 
yozhik   (2002-06-03 14:22) [12]

и какие типы полей в "C:\Temp\temp.dbf" ?


 
fnatali ©   (2002-06-03 14:24) [13]

А вообще LocalSQL поддерживает подзапросы? Сомневаюсь я. Попробуй другим методом: первый запрос(Query1)
select Ccn,COUNT(*) FROM "" + FileName + "" GROUP BY Ccn
Второй запрос(Query2)
insert into "C:\Temp\temp.dbf" (Ccn1,Count) values(:p1,:p2);
Затем
Query1.first;
while not Query1.eof do
begin
Query2.parambyname("p1").as...=Query1.fieldbyname("Ccn1").as...
Query2.parambyname("p2").as...=Query1.fieldbyname("Count").as...
Query2.execsql;

Query1.next;
end;
Попробуй, должно получиться


 
asafr ©   (2002-06-03 14:27) [14]

Может GROYP BY COUNT1
(COUNT в GROUP BY замени, хотя бы, на COUNT1, т.к. это зарезервированное слово)


 
asafr ©   (2002-06-03 14:28) [15]

Пардон, GROUP BY - конечно


 
Chainik ©   (2002-06-03 14:37) [16]

>yozhik
Выдает - [MS ODBC Visual FoxPro Driver]Syntax error.".
Типы полей T - character (2), Kolvo Character (6)
>fnatali а у Вас есть какой-нить примерчик с исп. подзапросов?
Если есть, будьте добры, закиньте на мыло.


 
Val ©   (2002-06-03 14:45) [17]

>fnatali © (03.06.02 14:24)
А вообще LocalSQL поддерживает подзапросы?
насколько я помню, в нем можно для таблиц одинаковой структуры сделать так:
insert into table2 select * from table1 <условие>


 
yozhik   (2002-06-03 14:50) [18]

попробуй так ...
"insert into "C:\Temp\temp.dbf""+#13#10+
"select CAST(Ccn as CHARACTER(2)),CAST(COUNT(*) as CHARACTER(6))"+#13#10+
"FROM ""+FileName+"" GROUP BY Ccn"


 
Chainik ©   (2002-06-03 15:38) [19]

>yozhik (03.06.02 14:50)
попробуй так ...
"insert into "C:\Temp\temp.dbf""+#13#10+

:((


 
Бежечаночка ©   (2002-06-03 15:47) [20]

Не мучайся, с From Select у тебя ничего не получится в Local SQL, я задавала аналогичный вопрос в конфе, правильно пишет fnatali: в этом случае обходятся 2 запросами.



Страницы: 1 вся ветка

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.012 c
1-88949
Прохвессор
2002-06-15 21:02
2002.06.27
Zip


8-88959
Диана
2002-02-15 16:47
2002.06.27
Звуковой фон. Как сделать?


1-88922
ZIP
2002-06-15 02:10
2002.06.27
Путь к узлу в TTreeView


14-89002
antistatic
2002-05-23 18:32
2002.06.27
Где можно скачать старые версии Windows


3-88715
icu
2002-06-03 15:49
2002.06.27
Как организовать хранимую процедуру?