Форум: "Базы";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
ВнизЗапрос из запроса Найти похожие ветки
← →
dabadabiabo (2003-06-05 11:10) [0]Необходимо выполнить
(select A,B) из (select * from MyBD)
Подскажите как описать.
Пробовал кучу вариантов, но компилер их все посылает...
← →
Соловьев (2003-06-05 11:13) [1]LocalSQL.hlp
искать sql files
← →
Наталия (2003-06-05 11:13) [2]поместить запрос select * from MyBD в файл с расширением sql.(например tmp.sql) Первый запрос будет выглядеть так: select A,B from tmp.sql
← →
ЮЮ (2003-06-06 03:11) [3]А почему сразу не написать
select A,B from MyBD
← →
needle (2003-06-06 08:13) [4]select A,B from (select * from table where ...) t
where ...
и будет тебе щастье :-)
← →
Mike1 Kouzmine1 (2003-06-06 08:59) [5]needle © (06.06.03 08:13)
LS не поддерживает
← →
Соловьев (2003-06-06 09:46) [6]
> needle © (06.06.03 08:13
тогда уж так:
select t1.A
from table1 t1
where exists (select t2.D from table2 t2 where t2.C=t1.B)
← →
Levan Varshanidze (2003-06-06 10:10) [7]Мне кажется, корректнее было бы поставить вопрос так:
есть запрос query1:
query1.sql.add("select a,b from onetable");
query1.open();
query1 возвращает набор данных
как теперь выпольнить запрос
select * from query1 (или как-то по другому) where ......
вохзможно ли такое ? (мне кажется, нет)
← →
Соловьев (2003-06-06 10:11) [8]
> вохзможно ли такое ? (мне кажется, нет)
возможно :))) bde32.hlp
← →
Andrey V. (2003-06-06 12:04) [9]При помощи Permanent делаешь результат квери реальной таблицей и - вперед.
← →
DmitryShch (2003-06-06 12:15) [10]Вопрос актуальный. Попробововал все из вышеперечисленного.
Ни чего не работает на DBF файлах:(((
Я в таких случаях работаю через временную таблицу
/*1)*/
CREATE TABLE ":Alias:_Temp.DBF"
(
FIELD1 DECIMAL(2,0),
FIELD2 DECIMAL(5,0)
);
/*2)*/
INSERT INTO ":Alias:_Temp.DBF"
(FIELD1, FIELD2)
SELECT FIELD1, FIELD1
FROM ":Alias:MyBD" MyBD;
/*3)*/
DROP TABLE ":Alias:_Temp.DBF";
← →
gsv_ (2003-06-06 13:33) [11]Проще написать один запрос, который возвращает нужную информацию из MyBD
← →
Oleg_E (2003-06-06 14:26) [12]Я в таких случаях использую компонент XQuery.
Он позволяет построить запрос на любой DataSet.
TxQuery component is a TDataSet descendant component that can be used to query one or more TDataSet descendant components using SQL statements. It is implemented in Delphi 100% source code, no DLL required, because it implements its own SQL syntax parser and SQL engine.
It can be very useful for TDataSet descendants components (including TClientDataSet) that do not use the BDE and that do not implement the SQL language or to mix tables types (dbase, paradox, access).
← →
Соловьев (2003-06-06 14:33) [13]
> Ни чего не работает на DBF файлах:(((
не может такого быть!!!
← →
Oleg_E (2003-06-06 14:50) [14]2 Соловьев © (06.06.03 14:33)
Не нужно быть столь категоричным. Попробуй, убедись САМ.
← →
Соловьев (2003-06-06 14:57) [15]
> Oleg_E (06.06.03 14:50)
раньше, когда юзал DBF, всегда использовал вышеприведенные конструкции. И у меня работало. Что Вы делаете, я не могу увидеть.
Приведи код, укажи где ошибку выдает?
← →
Andrey V. (2003-06-06 15:48) [16]Вот мой метод (он правда для db но думаю dbf тоже прокатит)
procedure TMainForm.MakePermanent(QueryHandle:HDBICur;ResultName:string);
var
PathExe: array[0..200] of Char;
begin
StrPCopy(PathExe,ResultName);
dbiMakePermanent(QueryHandle,PathExe,True);
end;
далее ...
QueryTemp.Close;
QueryTemp.SQL.Clear;
QueryTemp.SQL.Add("SELECT * FROM Workers.db");
QueryTemp.SQL.Add("ORDER BY WorkerName");
QueryTemp.Open;
TableWorkerTmp.Close;
MakePermanent(QueryTemp.Handle,"worktmp.db");
TableWorkerTmp.TableName:="worktmp.db";
TableWorkerTmp.DataBaseName:=StartDir;
TableWorkerTmp.Open;
QueryTemp.Close;
В итоге родится файл который можно использовать в дальнейших запросах.
← →
MsGuns (2003-06-06 15:56) [17]>Andrey V. (06.06.03 15:48)
А TBatchMove не лучше ? Тем более что не надо проверять на существование файла с указанным именем.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c