我有第三方程序使用數據庫表來顯示用戶在屏幕上創建(在應用程序內)字段,所以我有一個名爲User_Created_Fields的表,像根據第二個select語句選擇要包含在select中的列
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字段s(對於相應的日期字段也是一樣的)。
現在我需要創建一個報表,選擇存儲在Products表中的值,但是...因爲這些字段將由用戶添加,所以我需要選擇來自表中的列和User_Created_Fields中的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
這是進入一個水晶報表,所以我不能隨便使用sql像我通常會生成SQL。可能有更多的水晶esq方式來做到這一點,但我不知道它是什麼。這個信息顯然會與銷售細節結合起來,但是我只是簡單地將這一部分放在外面,因爲這部分不夠複雜。我使用水晶11和oracle 10
如果您已閱讀所有這些,您應得到獎勵....謝謝。
我可以得到選擇運行,但是...它總是隻返回表格名稱和字段名稱作爲文本...它不會實際執行表格和字段名稱作爲選擇的一部分 – user1023993
您可以使用動態SQL,存儲過程和全局臨時表的組合來實現此目的,有些參考資料可以查看以下鏈接http://www.dbforums.com/crystal-reports/1634385-using-oracle-package-data-source-report .html – psaraj12