Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > SQL: Помогите составить запрос...


Автор: VovaPHP 29.11.2007, 14:03
Помогите, пожалуйста, правильно составить запрос.

Надо выбрать 
1.документ, 
2.его движение, 
3.документ-партию из движения (не могу правильно установить связь внутри одной таблицы) 

Пробовал вот так (за одну дату) - все зависало напроч и безрезультатно.

Код

SELECT   

DOCS.ID, 
DOCS.DATE_DOC, 
DOCS.NUMBER,   
DOC_PAR.ID,     
DOC_PAR.DATE_DOC,   
DOC_PAR.NUMBER,   
DOC_PAR.KIND, 
DOCS.SKL_IST, 
KONT.ID, 
KONT.NAME,   
TOV.ID, 
REG_OST.LINE_ID, 
REG_OST.KOL, 
REG_OST.SUMMA_PAR     

FROM Docs   

LEFT JOIN KONT ON DOCS.KONT_ID = KONT.ID   
LEFT JOIN REG_OST ON DOCS.ID = REG_OST.DOC_ID       
LEFT JOIN TOV ON REG_OST.TOV_ID = TOV.ID     
LEFT JOIN DOCS AS DOC_PAR ON REG_OST.PAR_ID =  DOC_PAR.ID


Автор: TaNK 29.11.2007, 14:06
Описание таблиц выложи...

Добавлено @ 14:08
Код

select  p.dog_num, part.par_name, part.post_ind,bn.name, vil.village_name, str.street_name, part.nb_house

From  payer p inner join partners part on p.par_id=part.par_id
              inner join village vil on vil.village_id=part.village_id
              inner join street str  on str.street_id=part.street_id
              inner join bnkreg bn on bn.adr=03


where p.dog_num=130

Почему 
Код

LEFT JOIN !!!! KONT ON DOCS.KONT_ID = KONT.ID 

!!! нет таблицы откуда ты это вытаскиваешь?
Смотри пример выше!
partners - Таблица откуда все тащу, part относится к partners!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)