我有一個奇怪的問題。我有一個報告CR。在選擇公式中,我對兩個字段進行測試。測試很簡單:{field_City} = 'Paris' OR {field_Country} = 'France'
。不包含具有空值列的行的選擇公式
這是我的表中的數據樣本:
|---------------|---------------|---------------|
| ID_Record | Country | City |
|---------------|---------------|---------------|
| 1 | null | Paris |
|---------------|---------------|---------------|
| 2 | France | null |
|---------------|---------------|---------------|
| 3 | France | Paris |
|---------------|---------------|---------------|
的選擇的結果應該是3條記錄,但是它排除其中存在的一個空值的2個第一行列。然後我改變了這樣的選擇公式考慮空值:({field_City} = 'Paris' AND (isnull({field_Country}) OR not(isnull({field_Country})))) OR ({field_Country} = 'France' AND (isnull({field_City}) OR not(isnull({field_City}))))
但我仍然只獲得最後一個記錄!爲了確保自己我的代碼是正確的,我通過CR'Show sql query'中的選項生成了sql查詢,然後我添加了一個WHERE子句,其中我寫了與放入選擇公式相同的條件,而......它給了我3條記錄!不幸的是我不能使用sql查詢,我必須找出爲什麼公式排除在其中一列中有空值的記錄:(我希望你能幫助我。非常感謝!
這是解決方案:((isnull({field_Country}) AND {field_City} = 'Paris') OR (isnull({field_City}) AND {field_Country} = 'France') OR (not(isnull({field_Country})) AND {field_City} = 'Paris') OR (not(isnull({field_City})) AND {field_Country} = 'France'))
,非常感謝你克雷格
克雷格您好,感謝您的幫助,但我仍然有同樣的結果:(我首先測試null,但沒有改變,我不知道如何,直到現在我們仍然有這些虛擬技術:( – Walloud
再次克雷格。對不起,這件事太奇怪了。它現在工作,因爲首先我測試兩個字段的空值,然後兩個都不爲空。這是解決方案:((isnull({field_Country})AND {field_City} ='Paris')OR(isnull({field_City})AND {field_Country} ='France')OR(not(isnull({field_Country})) AND {field_City} ='Paris')OR(not(isnull({field_City}))AND {field_Country} ='France')),非常感謝! – Walloud