Иногда найти лучший способ сообщить о «проблеме» так же сложно, как найти решение ... LOL, но здесь идет ...
У меня есть таблица с компаниями, у меня есть связанная таблица с историей для каждой компании ...
Я хочу вернуть запрос с набором записей последних 3 записей «истории» на компанию ...
так что набор записей будет выглядеть примерно так ...
company A
history Az
history Ay
history Ax
company B
history Bz
history By
history Bx
company C
history Cz
history Cy
history Cx
Проблема, с которой я сталкиваюсь, заключается в том, что я ОГРАНИЧИВАЮ 3 - с присутствующими там соединениями, Я ПРОСТО получаю последние 3 записи всех записей, а не последние 3 для КАЖДОЙ компании ...
Вот то, что я в последний раз пробовал - но это просто откат ОДНОЙ компании, 3 записи ... и все ... (IBM DB2 9 - но единственное, что должно повлиять, это синтаксис на пределе 3). ) * +1010 *
SELECT
C.CompanyName
,H.*
FROM Companies C
JOIN CompanyTypes CT ON C.fkTypeID = CT.ID
INNER JOIN (
SELECT sCH.*
FROM CompanyHistory sCH
ORDER BY sCH.DATE DESC
FETCH FIRST 3 ROWS ONLY
) H ON H.fkCompanyID = C.ID
WHERE CT.Type = 'bookstore'
Что я делаю не так?