Я использую IBM Cognos для создания отчета, который допускает довольно стандартный SQL. В конечном итоге я пытаюсь взять данные из двух таблиц и сравнить их друг с другом, чтобы убедиться, что они совпадают. Billing_Term, Bill_Period и Contract_Term_Amount должны совпадать при сравнении заданного Contract_Number, Contract_Item и Stream_Type между t1 и t3, но только для MAX Seq_No от t3.
Я попробовал простой MAX () для Seq_No, но это не сработало, поэтому я ищу помощь в ограничении результатов до MAX Seq_No для связанных результатов запроса.
SELECT
t1.Contract_Number,
t1.Contract_Item,
t1.Stream_Type,
t1.Billing_Term,
t1.Bill_Period,
t1.Contract_Term_Amount,
t2.Reference_Document,
t3.Billing_Term,
t3.Bill_Period,
t3.Contract_Term_Amount,
t3.Seq_No
FROM
LeasingStreamData t1
INNER JOIN ContractsData t2 ON t1.Contract_Number = t2.Sales_Document
LEFT JOIN LeasingStreamData t3 ON t2.Reference_Document = t3.Contract_Number AND
t1.Contract_Item = t3.Contract_Item AND
t1.Stream_Type = t3.Stream_Type
WHERE
t1.Contract_Number IN ([some list of contracts])
GROUP BY
t1.Contract_Number,
t1.Contract_Item,
t1.Stream_Type,
t1.Billing_Term,
t1.Bill_Period,
t1.Contract_Term_Amount,
t2.Reference_Document,
t3.Billing_Term,
t3.Bill_Period,
t3.Contract_Term_Amount,
t3.Seq_No
Надеюсь, этого достаточно, чтобы получить столь необходимую помощь, большое спасибо за любую помощь, которую вы можете оказать!