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

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

Двойная связь поля одной таблицы с полем др. таблицы [D7, XP]


Megabyte ©   (2006-09-26 15:16:00) 

Дано: Таблица приходов/перемещений на склад оборудования(ID, Kol_vo,..., ID_склад1[на который пришло оборудование], ID_склад2[с которого пришло оборудование]);
таблица складов(ID_склада, название, адрес),
таблица валют,
таблица номенклатуры оборудования,
таблица категорий/типов оборудования.
Суть: ID_склад1, ID_склад2 оба связаны с одним ID_склада.
Мне в запросе надо выдавать названия складов!
Не могу правильно составить запрос. :(
select P.NUM_NAKLADNOY, O.PART_NUM, O."Eng_Description", P.KOL_VO, P.CENA, (P.Kol_vo*P.Cena) as Sroimost, V.NAME_VAL, S.NAME_SKLD as Prih, S.NAME_SKLD as Rash,  P.DATE_PRIH

from PRIHOD P, OBORUDOVANIE O, VALUTA V, SKLADI S

where (P.ID_Oborud = O.ID_Oborud) and (P.ID_Valuta = V.ID_Val) and
(P.Sklad_prih = S.ID_Skld) and (P.Sklad_rash = S.ID_Skld)

Не понятно, как связать, чтобы S.NAME_SKLD as Prih относилось к P.Sklad_prih, а S.NAME_SKLD as Rash - к P.Sklad_rash

Попытался так:
select P.NUM_NAKLADNOY, O.PART_NUM, O."Eng_Description", P.KOL_VO, P.CENA, (P.Kol_vo*P.Cena) as Sroimost, V.NAME_VAL, S.NAME_SKLD as Prih, S.NAME_SKLD as Rash,  P.DATE_PRIH

from PRIHOD P, OBORUDOVANIE O, VALUTA V, SKLADI S

where (P.ID_Oborud = O.ID_Oborud) and (P.ID_Valuta = V.ID_Val) and
( Prih= (select K.Name_Skld from SKLADI K
where P.Sklad_prih = K.ID_Skld)) and
( Rash= (select L.Name_Skld from SKLADI L
where P.Sklad_rash = L.ID_Skld))

Ругается на неизвестные поля Prih и Rash.

з.ы. Подскажите, как правильно оформить запрос?


Megabyte   (2006-09-26 15:44:00) [1]


> в чем смысл тогда - если склад назначения равен складу источника?

Сорри, некорректно выразился, конечно ID разные, связаны с одним полем, а не значением.


> одна и та же таблица может использоваться во фром с разными алиасами, например, FROM Tab T1, Tab T2

Точно, что-то я туплю. %) Спасибо.


Desdechado   (2006-09-26 15:20:00) [2]

> Суть: ID_склад1, ID_склад2 оба связаны с одним ID_склада.
в чем смысл тогда - если склад назначения равен складу источника?

> Ругается на неизвестные поля Prih и Rash.
Конечно. Это же не названия полей, а шапочки, которые будут в результате выборки. А пока выборка не случилась, на шапочки ссылаться нельзя, их еще нет.

> Подскажите, как правильно оформить запрос?
одна и та же таблица может использоваться во фром с разными алиасами, например, FROM Tab T1, Tab T2


Наверх

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