Мне нужно дополнительно уточнить мой сохраненный набор результатов proc из этот пост, мне нужно отфильтровать мой набор результатов, чтобы отображать только те записи, где emailaddr NULL (что означает отображение только тех записей, которые имеют Invoice_DeliveryType
значение 'N' ).
Среди многочисленных запросов я пробовал:
select
Invoice_ID, 'Unknown' as Invoice_Status,
case when Invoice_Printed is null then '' else 'Y' end as Invoice_Printed,
case when Invoice_DeliveryDate is null then '' else 'Y' end as Invoice_Delivered,
(case when Invoice_DeliveryType <> 'USPS' then ''
when exists (Select 1
from dbo.Client c
Where c.Client_ID = SUBSTRING(i.Invoice_ID, 1, 6) and
c.emailaddr is not null
)
then 'Y'
else 'N'
end)
Invoice_ContactLName + ', ' + Invoice_ContactFName as ContactName,
from
dbo.Invoice
left outer join
dbo.fnInvoiceCurrentStatus() on Invoice_ID = CUST_InvoiceID
where
CUST_StatusID = 7
AND Invoice_ID = dbo.Client.Client_ID
AND dbo.client.emailaddr is NULL
order by
Inv_Created
но я получаю сообщение об ошибке
Преобразование значения nvarchar '20111028995999' привело к переполнению столбца int
Как я могу заставить хранимую процедуру возвращать только записи с DeliveryType = 'N'
?
Invoice_ID = dbo.Client.Client_ID
иdbo.client.emailaddr is NULL
не имеют никакого смысла: в вашем запросе на этом уровне нетdbo.Client
. - person Andriy M   schedule 15.09.2014