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

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

фильтрация [D6, Paradox]


Страницы:   1 2 3

Andy Eremin ©   (2003-02-11 10:21:00) 

Мастера!
В результате проверки в SQL-запросе типа:
WHERE [условие1] or [условие2]
все нормально фильтруется, но происходит дубляж записей, т.е. каждая вторая запись - повторная.
Как их убрать?

Код такой:
Query1.SQL.Add("SELECT Materials.Mat_Name as Name,
Models.Mod_Name as Name2, Number, Cost ");
Query1.SQL.Add("FROM Materials, Models, Main");
Query1.SQL.Add("WHERE (Materials.Mat_Number=Number) OR (Models.Mod_CodeNumber=Number) ORDER BY Number");


Anatoly Podgoretsky   (2003-02-11 16:23:00) [1]

Andy Eremin © (11.02.03 15:35)
Раз уж ты занялся программированием баз, то переинсталлируй Дельфи и на этот раз не глупи поставиь все хелпы полностью


Reindeer Moss Eater   (2003-02-11 16:20:00) [2]

Andy Eremin спросил:
Как указать, что они находятся под другим псевдонимом(DataBaseName)?

Делаем вывод, что для доступа используется псевдоним (алиас)

Далее, после ответа на этот вопрос следует уточнение от Andy Eremin:
Если таблица находится ниже, в подкаталоге, то:
[имя подкаталога]\[имя таблицы.db].
А если выше?

Делаем вывод, что налицо попытка указать относительный путь к каталогу таблицы относительно имени псевдонима.

После чего идет мой вопрос:

Зачем смешивать несовместимое (Псевдонимы и имена каталогов) ???


Соловьев   (2003-02-11 16:18:00) [3]

это у же полемика, задача решена? Я думаю что да.
А то разговоры эти уже удел чатов или аськи...


Reindeer Moss Eater   (2003-02-11 16:15:00) [4]

А я утверждал что нельзя?


Соловьев   (2003-02-11 16:14:00) [5]

из разных алиасов?


Reindeer Moss Eater   (2003-02-11 16:12:00) [6]

Что можно?


Соловьев   (2003-02-11 16:10:00) [7]

2 Reindeer Moss Eater
Ну так видешь? Можно?


Reindeer Moss Eater   (2003-02-11 16:08:00) [8]

Кусочек LicalSQL.hlp

Heterogeneous joins

Joins two tables from different databases.

SELECT column_list

FROM ":database_reference:table_reference", ":database_reference:table_reference" [,":database_reference:table_reference"...]

WHERE predicate [AND predicate...]

Description

Use a heterogeneous join to join two tables that reside in different databases. The joined tables may be of different types (like dBASE to Paradox or Paradox to InterBase), but you can only join tables whose database types are accessible through the BDE (local, ODBC, or SQL Links). A hetergeneous join may be any of the joins supported by local SQL. The difference is in the syntax for the table reference: the database containing each table is specified in the table reference, surrounded by colons and the whole reference enclosed in quotation marks. The database specified as part of the table reference may be a drive and directory reference (for local tables) or a BDE alias.

SELECT *

FROM ":DBDEMOS:Customer.db" C, ":BCDEMOS:Orders.db" O

WHERE (C.CustNo = O.CustNo)


Соловьев   (2003-02-11 16:06:00) [9]


> Соловьев © (11.02.03 15:16)
> вроде можно передавать как параметр имя алиаса.

Можно, только я вот не помню где я видел, там был пример как с нескольких алиасов - Оракл и Interbase.


Reindeer Moss Eater   (2003-02-11 15:54:00) [10]

Если у новичка нет LocalSQL.hlp, то на что полагаться отвечающим, как не на опыт и интуицию последнего?


Reindeer Moss Eater   (2003-02-11 15:52:00) [11]

Никто не смешивает

Ну как же никто не смешивает:

- Как указать, что они находятся под другим псевдонимом

Соловьев © (11.02.03 15:16)
вроде можно передавать как параметр имя алиаса.

- Если таблица находится ниже, в подкаталоге, то:
[имя подкаталога]\[имя таблицы.db].
А если выше?


Andy Eremin   (2003-02-11 15:42:00) [12]

2 Reindeer Moss Eater
Никто не смешивает. Просто если определена структура базы (со всеми ее каталогами и подкаталогами), то грех не воспользоваться случаем. Кроме того, когда программируешь базу в первый раз, приходится очень многое писать интуитивно - авось сработает. Так? Исходников нет, город маленький, программистов тоже нет. Есть интет и "Мастера DELPHI".
А если трудно написать ответ на вопрос (и лучше в примере), не полагаясь на интуицию и опыт новичка - то лучше вообще ничего не писать.
Форум для того и создан, чтобы помогать, а не отталкивать...


Reindeer Moss Eater   (2003-02-11 15:36:00) [13]

Не повезло тебе


Andy Eremin   (2003-02-11 15:35:00) [14]

2 Reindeer Moss Eater
у меня такого НЕТ


Reindeer Moss Eater   (2003-02-11 15:32:00) [15]

Как указать, что они находятся под другим псевдонимом (DataBaseName)?

Если таблица находится ниже, в подкаталоге, то:
[имя подкаталога]\[имя таблицы.db].
А если выше?


Зачем смешивать несовместимое (Псевдонимы и имена каталогов) ???


Reindeer Moss Eater   (2003-02-11 15:29:00) [16]

Это понятно, но как написать?
Пуск->Программы->Borland Delphi 6-> Help->Borland Database Engine->Local SQL Guide


Andy Eremin   (2003-02-11 15:25:00) [17]

2 Соловьев
Если таблица находится ниже, в подкаталоге, то:
[имя подкаталога]\[имя таблицы.db].
А если выше?


Andy Eremin   (2003-02-11 15:19:00) [18]

2 Соловьев
Это понятно, но как написать?


Соловьев   (2003-02-11 15:16:00) [19]

вроде можно передавать как параметр имя алиаса.


Andy Eremin   (2003-02-11 14:36:00) [20]

Спасибо, Мастера.
С Вашей помощью я добился желаемого.
Очень помог совет By Соловьев
"Отестируй свой запрос в SQL Explorer. Я всегда там тестю, и нахожу то решение которое мне надо."

Последний вопрос, который я хотел бы выяснить:
В ЗАПРОСЕ указывается имя таблиц (например: Materials).
Как указать, что они находятся под другим псевдонимом (DataBaseName)?


Страницы:   1 2 3

Наверх

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