Текущий архив: 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.48 MB
Время: 0.006 c