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

Вниз

SQL-запрос с двух DBF-фпйлов   Найти похожие ветки 

 
volph7777   (2002-12-10 11:38) [0]

Есть Query1 в немь есть SQL-запрос, SELECT * FROM a.dbf,b.dbf почему при его активации, делфи "вылетает", т.е. просто закрывается. Delphi 5


 
Mike Kouzmine   (2002-12-10 11:47) [1]

Сделай объединение


 
volph7777   (2002-12-10 11:54) [2]

это как?


 
Max Zyuzin ©   (2002-12-10 11:58) [3]

SELECT * FROM a
А так вообще работает??


 
volph7777   (2002-12-10 12:16) [4]

Да, так работает


 
Reindeer Moss Eater   (2002-12-10 12:20) [5]

SELECT * FROM a.dbf,b.dbf Это декартово произведение двух таблиц. В результирующем наборе записей будет M * N, где M и N - количество записей в A и B.
Зачем такой запрос потребовался - загадка для меня


 
Roki   (2002-12-10 12:23) [6]

Зачем ты в запросе обьеденяеш каждую запись таблицы А со всеми записями таблицы В? Ты получаешь NxM записей, где N - кол-во записей табл. А, а M - В.
При большом количестве записей в обеих таблицах у ОС не хватает памяти для хранения всего этого набора в памяти. Попробуй сформулировать запрос иначе.


 
Mike Kouzmine   (2002-12-10 12:50) [7]

select * from "a.dbf
UNION select * from "b.dbf;
Поля должны быть одинаковы в названии и порядке следования


 
volph7777   (2002-12-10 12:55) [8]

SELECT a.dbf.field1 FROM a.dbf,b.dbf тоже "вылетает" :((((((((


 
Anatoly Podgoretsky ©   (2002-12-10 13:02) [9]

Так это не изменяет декартово произведение, все равно N*M.
Как насчет что бы книги по теории почитать или как минимум взглянуть следующую справку в Дельфи - Local SQL


 
volph7777   (2002-12-10 13:36) [10]

окей, есть два DBF-файла, необходимо получить три DBF-файла, гед в одном будет совпадение записей (по определенному полю), во втором не совпадение с одного дбф, а в третьем соответсвенно другого дбф.


 
Mike Kouzmine   (2002-12-10 14:39) [11]

where x=y
left join where x is null
right join where y is null


 
volph7777   (2002-12-10 15:36) [12]

с дбфниками разве можно вытворять такое? как LEFT & RIGHT?


 
Reindeer Moss Eater   (2002-12-10 15:58) [13]

с дбфниками разве можно вытворять такое? как LEFT & RIGHT?
А разве нельзя прочитать LocalSQL guide или проверить на практике?


 
volph7777   (2002-12-10 16:54) [14]

пробывал на практике, ругается на LEFT & RIGHT!


 
Reindeer Moss Eater   (2002-12-10 17:31) [15]

Ты про Left and Right, или про то, что слепо скопировал пример из поста Mike Kouzmine (10.12.02 14:39) и ничего не вышло?


 
volph7777   (2002-12-10 17:39) [16]

про LEFT & RIGHT, естественно я не слепо скопировал я сделал так:

select SBK_FIO from pr.dbf, a4m.dbf
where pr.dbf.ID=a4m.dbf.BIRTHPLACE
left join where pr.dbf.ID is null
right join where a4m.dbf.BIRTHPLACE is null


 
Reindeer Moss Eater   (2002-12-10 17:47) [17]

Именно это и называется "слепо скопировал".
Плачет по тебе Мартин Грабер.

Left Join <имя таблицы> On <Условие>


 
Johnmen ©   (2002-12-10 17:48) [18]

Все таки тупо скопировал...Не прочитав, по-видимому, ни одной строки из хелпа по SQL...
Печально...


 
volph7777   (2002-12-10 18:04) [19]

ХОРОШО! Исправте тот тупо скопированый пример на правильный?


 
Anatoly Podgoretsky ©   (2002-12-10 19:00) [20]

Значит принципиально отказываешься прочитать хелп по SQL, печально



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

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

Наверх




Память: 0.5 MB
Время: 0.02 c
3-99035
Freeze
2002-12-11 08:43
2002.12.30
Как отловить изменение в DBGrid


3-99029
Jdrm
2002-12-11 11:18
2002.12.30
Глюки с RecordCount


14-99251
Сатир
2002-12-10 17:46
2002.12.30
Из милицейских протоколов


1-99124
iNew
2002-12-18 09:26
2002.12.30
Использую ф-ию windows.Beep(16000,15000), но какое бы число


6-99216
kerrik
2002-11-02 00:31
2002.12.30
Как сделать пинг компьютера?