Я пытаюсь написать собственный отчет, в котором счета будут иметь номер заказа в столбце PO_Number или не будут.
Если у них нет номера заказа, я ищу данные из 4 столбцов (Сегмент1, Сегмент2, Сегмент3 и Сегмент4), где 2 идентификатора совпадают. В том же заявлении, если есть номер заказа на поставку, я хочу вытащить те же 4 столбца, но там, где совпадают 2 разных идентификационных номера.
SQL у меня до сих пор:
SELECT DISTINCT
AID.INVOICE_ID,
AID.AMOUNT,
AID.PERIOD_NAME,
GCC.SEGMENT1 as Organisation,
GCC.SEGMENT2,
GCC.SEGMENT3,
GCC.SEGMENT4,
INV.INVOICE_NUM,
INV.CREATION_DATE,
PO.SEGMENT1 as PO_Number,
SUP.VENDOR_NAME,
AID.LINE_TYPE_LOOKUP_CODE,
LINES.LINE_NUMBER
FROM
AP_INVOICES_All INV
INNER JOIN
AP_INVOICE_LINES_ALL LINES
ON INV.INVOICE_ID = LINES.INVOICE_ID
INNER JOIN
AP_INVOICE_DISTRIBUTIONS_ALL AID
ON INV.INVOICE_ID = AID.INVOICE_ID
INNER JOIN
GL_CODE_COMBINATIONS GCC
ON AID.DIST_CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
INNER JOIN
POZ_SUPPLIERS_V SUP
ON INV.VENDOR_ID = SUP.VENDOR_ID
LEFT JOIN
PO_HEADERS_ALL PO
ON LINES.PO_HEADER_ID = PO.PO_HEADER_ID
WHERE
AID.LINE_TYPE_LOOKUP_CODE NOT IN
(
'REC_TAX',
'NONREC_TAX'
)
AND LINES.LINE_TYPE_LOOKUP_CODE NOT IN
(
'TAX'
)
ORDER BY
AID.INVOICE_ID,
LINES.LINE_NUMBER
Если есть PO, на котором я хочу провести матч:
PO_DISTRIBUTIONS_ALL.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
А если нет PO:
AID.DIST_CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
(я знаю, что мне нужно где-то ссылаться на таблицу PO_DISTRIBUTIONS_ALL, но не знаю где)
Будет полезна любая помощь, поскольку я довольно плохо знаком с SQL и не знаю, как выразить то, чего я хочу достичь в коде SQL.
Дайте мне знать, если я не был ясен ни по какой части