Не дается запрос (

Помогите пожалуйста с запросом. Есть таблицы и столбцы : PRO (prodate, docnum, dbacc, kracc) , Accounts (accnum, clientcode, newaccnum) , Clients (clientcode, clientname)Нужно из таблицы pro вытащить prodate, docnum, из accounts newaccnum , из clients clientname dbacc, kracc - это сокращенные лицевые счета, их нужно связать с таблицей Accounts и вывести оба, но в разные столбцы(Плательщик, Получатель) Так же на к этим счетам нужно привязать кто есть кто (кто владелец счета)
SELECT prodate AS "Дата документа", docnum AS "Номер документа", 
accounts.newaccnum AS "Лицевой счет плательщика"  -- Как вывести еще такой же параметр ?при чем один должен быть dbacc, а другой kracc
clients.clientname AS "Плательщик" --как вывести еще один такой же параметр ? при чем один должен быть dbacc, а другой kracc
FROM pro
left join accounts ON pro.kracc = accounts.accnum
left join clients ON accounts.clientcode = clients.clientcode
WHERE prodate = TO_DATE('21-07-2016', 'dd-mm-yyyy')
AND docnum = '025'
Дополню. Т.е. dbacc = accnum и kracc = accnum.Наверное нужен еще один join (сейчас проверить не могу)
left join accounts ON pro.dbacc = accounts.accnum
3 ответа

Это для наглядности чего нужно :


Ну заджойните еще раз таблицы и всё:
SELECT 
  p.prodate      AS "Дата"
, p.docnum       AS "Номер"
, a1.newaccnum   AS "ЛС плат"
, c1.clientname  AS "Плательщик"
, a2.newaccnum   AS "ЛС получ"
, c2.clientname  AS "Получатель"
FROM pro p
LEFT JOIN accounts a1 ON a1.accnum     =  p.kracc
LEFT JOIN clients  c1 ON c1.clientcode = a1.clientcode
LEFT JOIN accounts a2 ON a2.accnum     = p.dbacc 
LEFT JOIN clients  c2 ON c2.clientcode = a2.clientcode
 
WHERE prodate = TO_DATE('21-07-2016', 'dd-mm-yyyy')
AND docnum = '025'


Anvano, Спасибо, попробую.Anvano, Спасибо, все работает.