データベーステーブルを使用してユーザーが作成した(アプリ内で)フィールドを画面に表示するサードパーティプログラムがあるため、次のようなUser_Created_Fieldsという名前のテーブルがあります
TABLE FIELD_NAME GROUP LABEL
products charge1 1 First Charge
products begin_date1 1 Begin Date
products end_date1 1 End Date
products charge2 2 First Charge
products begin_date2 2 Begin Date
products end_date2 2 End Date
アプリがテーブルでこれを確認すると、アプリに次のように表示されます
Group 1
First Charge *text area for input*
Begin Date *text area for input*
End Date *text area for input*
----------
Group 2
First Charge *text area for input*
Begin Date *text area for input*
End Date *text area for input*
アプリは、これらのフィールドのデータを User_Created_Fields テーブルで指定されたテーブルとフィールド名に保存するため、PRODUCTS.charge1 フィールドと PRODUCTS.charge2 フィールド (対応する日付フィールドも同様) になります。
Products テーブルに格納されている値を選択するレポートを作成する必要がありますが、フィールドはユーザーによって追加されるため、User_Created_Fields テーブルの Table および field_name 列から選択された列が必要です。
出力は次のようになります
PRODUCTS.Begin_date, PRODUCTS.End_date, PRODUCTS.Charge1, User_Created_Fields.Group
クエリは(非常に大まかに)次のようになります
select (select Table ||'.'||field_name from User_Created_Fields where Label='First Charge' and Group= (select Group from User_created_fields where label ='First Charge') ) from Products
これは Crystal Report に入るので、通常のように SQL を使用して SQL を生成することはできません。これを行うためのよりクリスタルな方法もあるかもしれませんが、それが何であるかはわかりません。この情報は明らかに販売の詳細と組み合わされますが、この部分は信じられないほど複雑であるため、単純にするためにその部分を省略しました. 私はクリスタル11とオラクル10を使用しています
このすべてを読んだ場合は、報酬に値する.... ありがとう。