Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL-запрос с двух DBF-фпйлов


volph7777 ©   (2002-12-10 11:38:00) 

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


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

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


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

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


Johnmen   (2002-12-10 17:48:00) [3]

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


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

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

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


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

про 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:31:00) [6]

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


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

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


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

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


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

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


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

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


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

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


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

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


volph7777   (2002-12-10 12:55:00) [13]

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


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

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


Roki   (2002-12-10 12:23:00) [15]

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


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

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


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

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


Max Zyuzin   (2002-12-10 11:58:00) [18]

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


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

это как?


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо