Я использую SQL-SERVER 2005.
У меня есть две таблицы, как вы можете видеть на диаграмме, CellularUsers и CellularPayments.Мне нужно получить пользователей, с которых нужно взимать плату, когда есть несколько правил:
- , если последний CellularPayments.paymentSum userID был 8, затем выберите все userID и userCellularNumbers где CellularPayments.date> getdate ()
- если последний CellularPayments.paymentSum для userID был 18, то выберите все userID и userCellularNumbers, где dateadd (дд, 7, CellularPayments.date)> getdate ()
альтернативный текст http://img256.imageshack.us/img256/1946/63468037.png
для просмотра диаграммы нажмите здесь
как мне это сделать прямо сейчас но мне это не кажется правильным
select cu.userID,cu.userCellularNumber from CellularUsers cu
left join CellularPayments cp
on cu.userID=cp.userID
where cu.isPaymentRecurring=1
and isActivated=1
and cp.paymentID in (select max(paymentID) from CellularPayments group by userID)
заранее спасибо