Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
3-30698
maxim2
2002-05-18 11:07
2002.06.10
Как в Database Deskstop создавать индексы


14-30988
Ilya
2002-05-03 20:36
2002.06.10
Горит РГЗ по высшей математике!!!


3-30717
Валя
2002-05-18 15:36
2002.06.10
Хелп!!!


1-30846
ded_di
2002-05-28 17:24
2002.06.10
Image в TChart


1-30850
antonyo
2002-05-29 11:00
2002.06.10
Что такое Canvas




   Наверх