2012-08-29 62 views
1

我在藥店工作。一種分類藥物的方法是稱爲GPI的標識符。 GPI中的數字具有含義以及父子關係。想要在級聯輸入控件中顯示重複值

enter image description here

在我的數據庫,我組的表,類(包括團體)的表,和子類的表(包括羣體和階層)。類別的數字值在組上重複。例如,組01可能具有01,02,03和04類。組02可能也有01,02,03和04.每個組中的類是不同的,它們使用相同的標識符。

在JasperReports服務器4.7我有一個多選查詢輸入控件,顯示GPI組。我還有一個多選查詢級聯輸入控件,它使用gpi_group值來顯示類的列表。下面是填充級聯輸入控制查詢:

SELECT DRUG_GROUP, DRUG_CLASS, CLASS_NAME 
FROM Schema.DRUG_CLASSES 
WHERE $X{IN, DRUG_GROUP, gpi_group} 
ORDER BY DRUG_GROUP, DRUG_CLASS 

可見列:DRUG_GROUP,DRUG_CLASS,CLASS_NAME

值列:DRUG_CLASS

當我選擇一種藥物組它的偉大工程。這裏有01組:

enter image description here

而這裏的02組:

enter image description here

但是,當我選擇他們在一起:

enter image description here

輸入控制似乎並不以適應多個GPI組發生時GPI類的重複值被選中。如果我值列更改爲GPI類名(其中有沒有重複)顯示的是根據需要:

enter image description here

不過,我不希望我的值列是GPI類的名稱,我希望它成爲GPI課程。我想限制我的GPI Subclass輸入控件來自GPI Group和GPI Class輸入控件的值,我想將GPI Group,GPI Class和GPI Subclass提供給我的查詢。

有關如何讓級聯輸入控件顯示'重複'GPI類值的想法?

回答

0

這就是我決定做 -

輸入控件要在值列的唯一值。我不認爲有什麼辦法可以解決這個問題,所以我只是想和它一起推出。我將在我的查詢中處理串聯的字符串。

查詢爲GPI類級聯輸入控制:

SELECT 
    DRUG_GROUP, 
    DRUG_CLASS, 
    CLASS_NAME, 
    DRUG_GROUP||DRUG_CLASS AS GROUP_CLASS 
FROM Schema.DRUG_CLASSES 
WHERE $X{IN, DRUG_GROUP, gpi_group} 

值列:GROUP_CLASS

查詢爲GPI子類級聯輸入控制(GPI組和GPI類的concatentation):

SELECT 
    DRUG_GROUP, 
    DRUG_CLASS, 
    GROUP_CLASS, 
    DRUG_SUBCLASS, 
    GROUP_CLASS_SUBCLASS,  
    DRUG_SUBCLASSNAME 
FROM (
    SELECT 
     DRUG_GROUP, 
     DRUG_CLASS, 
     DRUG_GROUP||DRUG_CLASS AS GROUP_CLASS, 
     DRUG_SUBCLASS, 
     DRUG_GROUP||DRUG_CLASS||DRUG_SUBCLASS AS GROUP_CLASS_SUBCLASS, 
     DRUG_SUBCLASSNAME 
    FROM Schema.DRUG_SUBCLASSES 
) 
WHERE $X{IN, GROUP_CLASS, gpi_class_cas} 

值列:GROUP_CLASS_SUBCLASS(GPI組,GPI類和GPI子類的級聯)