Вниз
Скачать: CL | DM;

Двойная связь поля одной таблицы с полем др. таблицы   Найти похожие ветки 

 
Megabyte ©   (2006-09-26 15:16) [0]

Дано: Таблица приходов/перемещений на склад оборудования(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.

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


 
Desdechado ©   (2006-09-26 15:20) [1]

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

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

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


 
Megabyte ©   (2006-09-26 15:44) [2]


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

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


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

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



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

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



Память: 0.45 MB
Время: 0.029 c
15-1158903145
Ega23
2006-09-22 09:32
2006.10.15
С Днём рождения! 22 сентября


15-1158749498
user666
2006-09-20 14:51
2006.10.15
Отладчик Delphi 8


15-1159110530
olenevod_Bildiev
2006-09-24 19:08
2006.10.15
компиляция кода на delphii2006 в delphi7


3-1155633565
Alpine
2006-08-15 13:19
2006.10.15
Возможно ли помещать апостроф в запись ?


15-1159283155
Cyrax
2006-09-26 19:05
2006.10.15
Вызов метода класса (с параметрами) через типизированный казатель




   Наверх