Итак, у меня есть запрос, чтобы отфильтровать кучу записей:
declare @rDate_datepart datetime
-- this gets rid of any time information, so we have just the date (i.e, right at midnight of that day)
set @rDate_datepart = convert(datetime,convert(varchar(2),datepart("m",'2/3/2012'))+'/'+convert(varchar(2),datepart("dd",'2/3/2012'))+'/'+convert(varchar(4),datepart("yyyy",'2/3/2012')))
select tq_tran_quote_id, MAX_MATURITY_DT.cm_maturity_dt
from cfo_tran_quote inner join cfo_transaction
on tq_tr_transaction_id = tr_transaction_id
left join com_lock on tr_transaction_id = lk_tr_transaction_id
LEFT OUTER JOIN
(
SELECT cm_tq_tran_quote_id, MAX(cm_maturity_dt) as 'cm_maturity_dt'
FROM cfo_component
GROUP BY cm_tq_tran_quote_id
) AS MAX_MATURITY_DT ON MAX_MATURITY_DT.cm_tq_tran_quote_id = tq_tran_quote_id
where tq_dd_tran_qt_status = 'Matured' and
isnull(lk_rv_lock_status, 10104) = 10104 and
MAX_MATURITY_DT.cm_maturity_dt between @rDate_datepart - 15 and @rDate_datepart
and tq_dd_product in
(select pr_dd_product
from cfo_product
where pr_dd_product_type = 'Cash Flow')
Теперь я хочу добавить к этому запросу что-то, что говорит: «Дайте мне все строки, возвращенные этим запросом, где эти конкретные tq_tran_quote_id
не имеют записей в другой таблице cfo_daily_trans_hist
, где их dh_valuation_total
эта другая таблица 0
.
Имеет ли это смысл?
Я ужасен с SQL ... LOL