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

Вниз

Двойной lookup   Найти похожие ветки 

 
Genry   (2002-05-17 12:30) [0]

Господа, подскажите как организовать двойной lookup. Имеется три таблицы. По ключу (напр. ID заказа)из первой смотрим во вторую (в ней хранятся ID израсходованных материалов по всем заказам), т.е. выбираем ID всех материалов, израсходованных на данный заказ. В третьей таблице хранятся данные о материалах в т.ч. их названия. Заглядываем туда, дабы показать пользователю названия всех израсходованных материалов. Т.о. имеем двойной lookup.
Подскажите как его организовать?


 
Val ©   (2002-05-17 13:20) [1]

select z.ZAKAZNUMBER, r.HOWMANY, m.MATERIALNAME
from MATERIAL m, ZAKAZ z, RASHOD r
where z.ID=r.IDZAKAZ and
m.ID=r.IDMATERIAL


 
Genry   (2002-05-17 14:18) [2]

Val, cпасибо.
Но не совсем то. Надо: есть грид с данными по заказу Z. Есть ListBox. При перемещении по гриду в ListBox"e показываются все материалы, использованные для изготовления заказа с текущим номером.


 
esVer   (2002-05-17 14:56) [3]

Query1.SQL.Text:="select ZAKAZNUMBER from ZAKAZ;
Query2.SQL.Text:="select ZAKAZNUMBER, HOWMANY, MATERIALNAME from MATERIAL;

DataSource1.DataSet:=Query1;
DataSource2.DataSet:=Query2;
Query2.MasterSource:=DataSource1;

На Query2.AfterOpen заполняем данными ListBox (если обычный),
если это db-control, то обновится сам




 
Val ©   (2002-05-17 14:59) [4]

стройте запрос, выбирая материалы по данной связке с дополнительным условием-проверкой на конкретный, текущий ID заказа и его результаты записываете в свой листбокс.


 
Val ©   (2002-05-17 15:02) [5]

>esVer (17.05.02 14:56)
у автора, судя по всему таблица материалов - обыкновенный справочник, откуда там номер заказа и какое-то ни было количество?


 
Genry   (2002-05-17 15:14) [6]

Господа, всем спасибо, все свободны :-).
На самом деле я просто туплю. Это я только что понял. Все уже сделал.
Эще раз всем спасибо.


 
esVer   (2002-05-17 15:41) [7]

Для Val:

В заказе может использовать 5 материалов, а может и 10.
Отсюда логично иметь отдельную таблицу :

ID_ZAKAZ, ID_MATERIAL, COUNT_MATERIAL

ID_ZAKAZ - ссылка на таблицу заказов
ID_MATERIAL будет ссылкой на справочник материалов


 
Val ©   (2002-05-17 15:58) [8]

ну да, классическая таблица-связка,а я вам о чем? А ваши выборки откуда происходят?



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
3-30695
Driver2002
2002-05-18 01:55
2002.06.10
Распостранение проложения с dbExperss (Oracle driver)


3-30686
uncle_m16
2002-05-17 18:51
2002.06.10
триггер


3-30685
Andrey__
2002-05-16 19:12
2002.06.10
Проблема с IBEvents в Delphi 6


3-30737
maxim2
2002-05-17 11:38
2002.06.10
Проблема с DBGrid полностью не показывает данные в полях


6-30949
Chris
2002-03-29 17:06
2002.06.10
Кто открыл файл?