奇妙な問題があります。レポート CR があります。選択式では、2 つのフィールドでテストを行います。テストは次のように簡単です{field_City} = 'Paris' OR {field_Country} = 'France'
。
これは私のテーブルのデータのサンプルです:
|---------------|---------------|---------------|
| ID_Record | Country | City |
|---------------|---------------|---------------|
| 1 | null | Paris |
|---------------|---------------|---------------|
| 2 | France | null |
|---------------|---------------|---------------|
| 3 | France | Paris |
|---------------|---------------|---------------|
選択の結果は 3 つのレコードになるはずですが、列の 1 つに null 値がある最初の 2 つの行は除外されます。次に、選択式を次のように変更して、null 値も考慮するようにしました。({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クエリを扱うことができません.列の1つにnull値を持つレコードを式が除外している理由を見つけなければなりません:(私はあなたが私を助けてくれることを願っています.
これが解決策です: ((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'))
, どうもありがとうクレイグ!