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

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

SQL Query [D6, Paradox]


DenKop ©   (2003-02-01 22:41:00) 

Пишу подробно:
Имею 2 таблицы:
Tab1:
Field1:int
Field2:string
Field3
......

Tab2:
Field4:int
Field5:string

Использую TQuery связанный с Tab1.
Создаю LookUp поле:

Name :LookUpField
KeyField :Field1
LookupKey :Feild4
ResultField :Field5

Создаю запрос для поиска по LookUp полю:

SELECT * FROM Tab1, Tab2 WHERE LookUpField Like "%"+FindValue+"%"

В результате полчаю все записи таблицы.


DenKop   (2003-02-05 21:58:00) [1]

ALL>> Сенк, разобрался


MsGuns   (2003-02-04 22:08:00) [2]

В приведенно Евгением запросевообще не используется в классическом смысле отношение "Мастер"-"Детал", а просто врез.НД выбираются поля записи одной таблицы + поля другой таблицы, записи которой имеют те же значения полей, что и в первой.

Его запрос можно переписать и так:

SELECT A.Code_St, B.FIO
FROM Main A, Names B
WRERE A.Code_St=B.Code_N
ORDER BY B.FIO


DenKop   (2003-02-04 20:19:00) [3]

Please, можно трохи пояснить:

что такое A.---- и B.----

смысл строки: JOIN //<или LEFT JOIN, в завис.от смысла>// Names B ON A.Code_St=B.Code_N

И вообще структура запроса к родительской таблице?


Johnmen   (2003-02-04 00:05:00) [4]

Да не нужны тебе никакие лукап поля ! Они предназначены для другого.
Просто один запрос
SELECT
A.Code_St,
B.Code_N,
B.FIO
FROM main A
JOIN //<или LEFT JOIN, в завис.от смысла>// Names B ON A.Code_St=B.Code_N


DenKop   (2003-02-03 23:56:00) [5]

Имею две таблицы, main.db в которой имеется поле Code_St:int и вторую таблицу Names.db в которой два поля Code_N и FIO. В main таблице создаю Lookup поле FIO_N в котором хочу отобразить записи из таблицы Names.db. Связываю так: main.Kod_St -> Names.Code_N = main.FIO_N, т.е. для поля main.FIO_N значения записей выбираются из Names.FIO. Вот. Связываю Query с main.db и пытаюсь выбрать записи по полю main.FIO_N. Как правильно написать текст запроса для поиска по моему, LookUp полю? Заранее благодарен.


MsGuns   (2003-02-03 22:03:00) [6]

1. Приведи смысловое описание полей таблиц
2. Дай текст запроса из таблицы 2 (вообще непонятно, зачем для запроса создавать LookUp-поле, если его значение из ссылочной таблицы можно запросто включить в список выборки квери)


DenKop   (2003-02-03 21:30:00) [7]

.
> А чему равно FindValue ?

FindValue - Имя записи, которую нужно искать

> Где в запросе связь между Tab1 и Tab2 ?

А вот этого я не знаю... Вероятно здесь и загвоздка


MsGuns   (2003-02-02 14:13:00) [8]

А чему равно FindValue ? Где в запросе связь между Tab1 и Tab2 ?


Наверх

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