所以,我对Transact-SQL比熟悉Crystal公式更熟悉。我想要做的是转换像在Crystal中使用的以下SQL where子句,以有条件地抑制一个部分: 。 。 。 AND(osAddressUse.Description<>'Conservator Address' 要么 ( ISNULL(bcDocumentDetail.PrimaryStreet,'')= ISNULL(osaddress.PrimaryStreet,'') 和 ISNULL(bcDocumentDetail.SecondaryStreet,'')= ISNULL(bcDocumentDetail.SecondaryStreet,'') ) ) 。 。
基本上,只有osAddressUse.Description =“Conservator Address”或者两个表bcDocumentDetail和osAddress中的Primary Street和Secondary Street都不相同时才会显示该部分。
到目前为止我想出的是以下内容,但它在100%的时间内都不起作用:
{osAddressUse.Description}<> “保护者地址” 要么 ({bcDocumentDetail.PrimaryStreet} = {osAddress.PrimaryStreet} 和 {bcDocumentDetail.SecondaryStreet} = {osAddress.SecondaryStreet})
在某些情况下,这些字段中的数据可以是NULL或“”。如果它是一个NULL值,我希望它转换为“”,这样,它们在技术上匹配,并且该部分将被抑制。
答案 0 :(得分:0)
没关系。我弄清楚了:
TRIM({osAddressUse.Description})<> "保护者地址"
OR
(
(IF ISNULL({osAddress.PrimaryStreet})那么"" ELSE {osAddress.PrimaryStreet})
=(IF ISNULL({bcDocumentDetail.PrimaryStreet})那么"" ELSE {osAddress.PrimaryStreet})
和
(IF ISNULL({osAddress.SecondaryStreet})那么"" ELSE {osAddress.SecondaryStreet})
=(IF ISNULL({bcDocumentDetail.SecondaryStreet})那么"" ELSE {osAddress.SecondaryStreet})
)