![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Двойная связь поля одной таблицы с полем др. таблицы [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