PLAN、GROUP、PRODUCT CLIENT という名前の (あまり正規化されていない、またはリレーショナルではない) テーブルのセットがあります。
ほとんどの場合、clno GROUP の PLAN -> CLIENT から PRODCD の PRODUCT へのリンケージがあります。
ただし、PLAN と GROUP のリンクはややこしいです。計画には、GRPNO と PRODCD の 2 つの対象フィールドがあります。
私がやりたいことは、GRPNO != 0 の場合、GRPNO で GROUP に参加することです。ただし、GRPNO = 0 の場合、PRODCD で GROUP に参加したいと考えています。
イライラするのは、クエリで返したいフィールドが全体的に同じであることです。結合を変更するか、同じテーブルを 2 回結合する必要があるだけです。
私が思いつく最善の方法は、2 つのクエリを作成し、データセットを使用して、または場合によってはユニオンを使用してそれらをマージすることです。
1回の選択でこれを行う気の利いた方法はありますか?
これを行うには、ODBC 経由で Foxpro にアクセスしていることを指摘しておく必要があります。
ありがとうございました!