わかりましたので、重複する ID が存在する場合にフィールドに null 値を表示するクエリを実行しようとしています。2 つのテーブル、親子関係があります。親テーブルには、1 つから複数の子レコードを含めることができます。私のシナリオでは、多くの検査を行うことができる燃料タンクがあります。Tank は親テーブルで、Tank_Inspections は子テーブルです。タンク テーブルから取得してタンク検査記録と結合している容量データ フィールドがあり、そのタンクに複数の検査が存在する場合は 2 回表示されます。これは問題ありませんが、容量を二重にカウントしたくなく、一度だけ表示したいと考えています。親テーブルに複数のレコードが存在する場合のスクリーンショットの画像へのリンクを貼り付けました。強調表示されたセルは空白にする必要があります。ご覧のように、TankID = 65 には異なるタイプの 2 つの検査があります。Tank テーブルから容量フィールドを取得しているため、2 回挿入されています。クエリを作成して、タンクに 2 つ以上の検査が存在する場合、容量を 1 回だけ表示し、他の容量データ要素を「空白」にする必要がありました。この場合、強調表示セルは空白にする必要があります。提案?
質問する
43 次
1 に答える
0
これは、分析関数の仕事のように思えます。Access はこれらをネイティブにサポートしていないため、row_number() 分析関数を実現するためのハックがあります。これはニーズを満たすように思えます。
MS Access で ROW_NUMBER / PARTITION BY を達成する
この自己結合を呼び出すクエリを作成し、テーブルの代わりにそれを使用します。各行の行番号を取得すると、次のようになります。
Tank ID Inspection ID Row
59 6841 1
60 6842 1
65 7344 1
65 6843 2
そして、容量式は[Inspection].[Capacity]
次のように変わります。
IIf([Self Join].[Row] = 1, [Inspection].[Capacity], Null)
于 2015-11-04T04:09:09.760 に答える