Alternative for UNION

Hi
I have to simple sets of query Q1 and Q2, both of them have the SUM function used, they work just fine separately, but we want the result in 1 single query.
The problem is that Q1 has a master/detail table relation in the join so whenever we join both queries together the result set is being summed incorrectly according to the number of detail records found in the detail table.
Of course the solution is to use UNION operator.
What I'm looking for is an alternative for the UNION
Are there any analytical functions where I can have the result???
Query examples:
TONY@DEV> SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         M.AUXL_CODE,
  3         D.ITEM_CODE,
  4         SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R)) QTY
  5  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  6       ISTD_STOCK_MOUVEMENTS_D D,
  7       IACD_AUXILIARIES X
  8  WHERE M.TMVS_CODE = D.TMVS_CODE
  9    AND M.CPNY_CODE = D.CPNY_CODE
10    AND M.BRCH_CODE = D.BRCH_CODE
11    AND M.MVTS_YEAR = D.MVTS_YEAR
12    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
13    AND X.AUXL_TYPE = M.AUXL_TYPE
14    AND X.AUXL_CODE = M.AUXL_CODE
15    AND X.AUXL_RPRSNT_TITLE = 1
16    AND M.AUXL_TYPE = 1
17  GROUP BY X.AUXL_RPRSNT_TITLE, M.AUXL_CODE, D.ITEM_CODE;
  GRP_CODE  AUXL_CODE ITEM_CODE                                         QTY
         1      33405 4030010                                           318
         1      33405 4030020                                            22
         1      33405 4030030                                            22
         1      33408 4030010                                            14
         1      33408 4030020                                             2
         1      33408 4030030                                             2
         1      33410 4030010                                           992
         1      33410 4030020                                            42
         1      33410 4030030                                            42
         1      33413 4030010                                           789
         1      33413 4030020                                            38
  GRP_CODE  AUXL_CODE ITEM_CODE                                         QTY
         1      33413 4030030                                            38
         1      33413 5010008                                             1
         1      33413 5010009                                             1
         1      33413 5010012                                             1
15 rows selected.
Elapsed: 00:00:00.00
TONY@DEV> SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         X.AUXL_CODE,
  3         SUM(NVL(A.AGAC_REV_AMT, 0)) AMT,
  4         SUM(NVL(A.AGAC_AMT, 0)) PAID,
  5         SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)) DUE
  6  FROM IACD_PAYM_AGING A,
  7       IACD_AUXILIARIES X
  8  WHERE X.AUXL_TYPE = A.AUXL_TYPE
  9    AND X.AUXL_CODE = A.AUXL_CODE
10    AND X.AUXL_RPRSNT_TITLE = 1
11  GROUP BY X.AUXL_RPRSNT_TITLE, X.AUXL_CODE;
  GRP_CODE  AUXL_CODE        AMT       PAID        DUE
         1      33405    845.248      93.34    751.908
         1      33408     37.334      13.34     23.994
         1      33410   2655.328     394.68   2260.648
         1      33413   2103.855    293.302   1810.553
Elapsed: 00:00:00.00
TONY@DEV> SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         M.AUXL_CODE,
  3         D.ITEM_CODE,
  4         SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R)) QUANTITY,
  5         NULL AMT,
  6         NULL PAID,
  7         NULL DUE
  8  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  9       ISTD_STOCK_MOUVEMENTS_D D,
10       IACD_AUXILIARIES X
11  WHERE M.TMVS_CODE = D.TMVS_CODE
12    AND M.CPNY_CODE = D.CPNY_CODE
13    AND M.BRCH_CODE = D.BRCH_CODE
14    AND M.MVTS_YEAR = D.MVTS_YEAR
15    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
16    AND X.AUXL_TYPE = M.AUXL_TYPE
17    AND X.AUXL_CODE = M.AUXL_CODE
18    AND X.AUXL_RPRSNT_TITLE = 1
19    AND M.AUXL_TYPE = 1
20  GROUP BY X.AUXL_RPRSNT_TITLE, M.AUXL_CODE, D.ITEM_CODE
21  UNION
22  SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
23         X.AUXL_CODE,
24         NULL ITEM_CODE,
25         NULL QUANTITY,
26         SUM(NVL(A.AGAC_REV_AMT, 0)) AMT,
27         SUM(NVL(A.AGAC_AMT, 0)) PAID,
28         SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)) DUE
29  FROM IACD_PAYM_AGING A,
30       IACD_AUXILIARIES X
31  WHERE X.AUXL_TYPE = A.AUXL_TYPE
32    AND X.AUXL_CODE = A.AUXL_CODE
33    AND X.AUXL_RPRSNT_TITLE = 1
34  GROUP BY X.AUXL_RPRSNT_TITLE, X.AUXL_CODE;
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33405 4030010                                           318
         1      33405 4030020                                            22
         1      33405 4030030                                            22
         1      33405                                                          845.248      93.34    751.908
         1      33408 4030010                                            14
         1      33408 4030020                                             2
         1      33408 4030030                                             2
         1      33408                                                           37.334      13.34     23.994
         1      33410 4030010                                           992
         1      33410 4030020                                            42
         1      33410 4030030                                            42
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33410                                                         2655.328     394.68   2260.648
         1      33413 4030010                                           789
         1      33413 4030020                                            38
         1      33413 4030030                                            38
         1      33413 5010008                                             1
         1      33413 5010009                                             1
         1      33413 5010012                                             1
         1      33413                                                         2103.855    293.302   1810.553
19 rows selected.
Elapsed: 00:00:05.03
TONY@DEV>Here are samples from the joined query
TONY@DEV> ed
Wrote file afiedt.buf
  1  SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         M.AUXL_CODE,
  3         D.ITEM_CODE,
  4         SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R)) QUANTITY,
  5         SUM(NVL(A.AGAC_REV_AMT, 0)) AMT,
  6         SUM(NVL(A.AGAC_AMT, 0)) PAID,
  7         SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)) DUE
  8  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  9       ISTD_STOCK_MOUVEMENTS_D D,
10       IACD_AUXILIARIES X,
11       IACD_PAYM_AGING A
12  WHERE M.TMVS_CODE = D.TMVS_CODE
13    AND M.CPNY_CODE = D.CPNY_CODE
14    AND M.BRCH_CODE = D.BRCH_CODE
15    AND M.MVTS_YEAR = D.MVTS_YEAR
16    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
17    AND X.AUXL_TYPE = M.AUXL_TYPE
18    AND X.AUXL_CODE = M.AUXL_CODE
19    AND X.AUXL_TYPE = A.AUXL_TYPE
20    AND X.AUXL_CODE = A.AUXL_CODE
21    AND X.AUXL_RPRSNT_TITLE = 1
22    AND M.AUXL_TYPE = 1
23* GROUP BY X.AUXL_RPRSNT_TITLE, M.AUXL_CODE, D.ITEM_CODE
TONY@DEV> /
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33405 4030010                                         10494  30428.928    3360.24  27068.688
         1      33405 4030020                                           726    845.248      93.34    751.908
         1      33405 4030030                                           726    845.248      93.34    751.908
         1      33408 4030010                                           140     373.34      133.4     239.94
         1      33408 4030020                                            20     37.334      13.34     23.994
         1      33408 4030030                                            20     37.334      13.34     23.994
         1      33410 4030010                                         56544 164630.336   24470.16 140160.176
         1      33410 4030020                                          2394  10621.312    1578.72   9042.592
         1      33410 4030030                                          2394   13276.64     1973.4   11303.24
         1      33413 4030010                                         56808  151477.56  21117.744 130359.816
         1      33413 4030020                                          2736  10519.275    1466.51   9052.765
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33413 4030030                                          2736  10519.275    1466.51   9052.765
         1      33413 5010008                                            72   2103.855    293.302   1810.553
         1      33413 5010009                                            72   2103.855    293.302   1810.553
         1      33413 5010012                                            72   2103.855    293.302   1810.553
15 rows selected.
Elapsed: 00:00:03.09
TONY@DEV> ED
Wrote file afiedt.buf
  1  SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         M.AUXL_CODE,
  3         D.ITEM_CODE,
  4         SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R)) QUANTITY,
  5         SUM(NVL(A.AGAC_REV_AMT, 0)) AMT,
  6         SUM(NVL(A.AGAC_AMT, 0)) PAID,
  7         SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)) DUE
  8  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  9       ISTD_STOCK_MOUVEMENTS_D D,
10       IACD_AUXILIARIES X,
11       IACD_PAYM_AGING A
12  WHERE M.TMVS_CODE = D.TMVS_CODE
13    AND M.CPNY_CODE = D.CPNY_CODE
14    AND M.BRCH_CODE = D.BRCH_CODE
15    AND M.MVTS_YEAR = D.MVTS_YEAR
16    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
17    AND X.AUXL_TYPE = M.AUXL_TYPE
18    AND X.AUXL_CODE = M.AUXL_CODE
19    AND X.AUXL_TYPE = A.AUXL_TYPE
20    AND X.AUXL_CODE = A.AUXL_CODE
21    AND A.AUXL_CODE = M.AUXL_CODE
22    AND A.AUXL_TYPE = M.AUXL_TYPE
23    AND X.AUXL_RPRSNT_TITLE = 1
24    AND M.AUXL_TYPE = 1
25* GROUP BY X.AUXL_RPRSNT_TITLE, M.AUXL_CODE, D.ITEM_CODE
TONY@DEV> /
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33405 4030010                                         10494  30428.928    3360.24  27068.688
         1      33405 4030020                                           726    845.248      93.34    751.908
         1      33405 4030030                                           726    845.248      93.34    751.908
         1      33408 4030010                                           140     373.34      133.4     239.94
         1      33408 4030020                                            20     37.334      13.34     23.994
         1      33408 4030030                                            20     37.334      13.34     23.994
         1      33410 4030010                                         56544 164630.336   24470.16 140160.176
         1      33410 4030020                                          2394  10621.312    1578.72   9042.592
         1      33410 4030030                                          2394   13276.64     1973.4   11303.24
         1      33413 4030010                                         56808  151477.56  21117.744 130359.816
         1      33413 4030020                                          2736  10519.275    1466.51   9052.765
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33413 4030030                                          2736  10519.275    1466.51   9052.765
         1      33413 5010008                                            72   2103.855    293.302   1810.553
         1      33413 5010009                                            72   2103.855    293.302   1810.553
         1      33413 5010012                                            72   2103.855    293.302   1810.553
15 rows selected.
Elapsed: 00:00:00.02
TONY@DEV>
Note: If I join the A table with D table the query's returning no rows
Any suggestions are apreciated
Tony S. Garabedian

Hi Laurent,
I've got the same results as the joined tables without UNION.
The AUXL_CODE column is detail in the D table and master in M table the query is counting the detail records over and over when joined with table A where the function SUM is executed against columns in this table even with grouping sets
Am I correct??
I'm sure there is (must be) another way other than UNION and all the lengthy query but I just can't figure it out.
samples
  1  SELECT X.AUXL_RPRSNT_TITLE,
  2         X.AUXL_CODE,
  3         D.ITEM_CODE,
  4         DECODE(GROUPING(X.AUXL_CODE), 1, SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R))) QTY,
  5         SUM(NVL(A.AGAC_REV_AMT, 0)) AMT, SUM(NVL(A.AGAC_AMT, 0)) PAID,
  6         SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)) DUE
  7  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  8       ISTD_STOCK_MOUVEMENTS_D D,
  9       IACD_AUXILIARIES X,
10       IACD_PAYM_AGING A
11  WHERE M.TMVS_CODE = D.TMVS_CODE
12    AND M.CPNY_CODE = D.CPNY_CODE
13    AND M.BRCH_CODE = D.BRCH_CODE
14    AND M.MVTS_YEAR = D.MVTS_YEAR
15    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
16    AND X.AUXL_TYPE = M.AUXL_TYPE
17    AND X.AUXL_CODE = M.AUXL_CODE
18    AND X.AUXL_TYPE = A.AUXL_TYPE
19    AND X.AUXL_CODE = A.AUXL_CODE
20    AND A.AUXL_CODE = M.AUXL_CODE
21    AND A.AUXL_TYPE = M.AUXL_TYPE
22    AND X.AUXL_RPRSNT_TITLE = 1
23    AND M.AUXL_TYPE = 1
24* GROUP BY GROUPING SETS((X.AUXL_RPRSNT_TITLE), (X.AUXL_RPRSNT_TITLE, X.AUXL_CODE), (X.AUXL_RPRSNT_TITLE, X.AUXL_CODE, D.ITEM_CODE))
TONY@RIM> /
AUXL_RPRSNT_TITLE  AUXL_CODE ITEM_CODE                                         QTY        AMT       PAID        DUE
                1      33405 4030010                                                32162.102    3453.58  28708.522
                1      33405 4030020                                                  869.246      93.34    775.906
                1      33405 4030030                                                  869.246      93.34    775.906
                1      33405                                                        33900.594    3640.26  30260.334
                1      33408 4030010                                                   373.34      133.4     239.94
                1      33408 4030020                                                   37.334      13.34     23.994
                1      33408 4030030                                                   37.334      13.34     23.994
                1      33408                                                          448.008     160.08    287.928
                1      33410 4030010                                               171351.747   24864.84 146486.907
                1      33410 4030020                                                10879.476    1578.72   9300.756
                1      33410 4030030                                                13599.345     1973.4  11625.945
AUXL_RPRSNT_TITLE  AUXL_CODE ITEM_CODE                                         QTY        AMT       PAID        DUE
                1      33410                                                       195830.568   28416.96 167413.608
                1      33413 4030010                                               157668.977  21411.046 136257.931
                1      33413 4030020                                                10799.245    1466.51   9332.735
                1      33413 4030030                                                10799.245    1466.51   9332.735
                1      33413 5010008                                                 2159.849    293.302   1866.547
                1      33413 5010009                                                 2159.849    293.302   1866.547
                1      33413 5010012                                                 2159.849    293.302   1866.547
                1      33413                                                       185747.014  25223.972 160523.042
                1                                                           141375 415926.184  57441.272 358484.912
20 rows selected.
TONY@RIM> SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         M.AUXL_CODE,
  3         D.ITEM_CODE,
  4         SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R)) QUANTITY,
  5         SUM(NVL(A.AGAC_REV_AMT, 0)) AMT,
  6         SUM(NVL(A.AGAC_AMT, 0)) PAID,
  7         SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)) DUE
  8  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  9       ISTD_STOCK_MOUVEMENTS_D D,
10       IACD_AUXILIARIES X,
11       IACD_PAYM_AGING A
12  WHERE M.TMVS_CODE = D.TMVS_CODE
13    AND M.CPNY_CODE = D.CPNY_CODE
14    AND M.BRCH_CODE = D.BRCH_CODE
15    AND M.MVTS_YEAR = D.MVTS_YEAR
16    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
17    AND X.AUXL_TYPE = M.AUXL_TYPE
18    AND X.AUXL_CODE = M.AUXL_CODE
19    AND X.AUXL_TYPE = A.AUXL_TYPE
20    AND X.AUXL_CODE = A.AUXL_CODE
21    AND A.AUXL_CODE = M.AUXL_CODE
22    AND A.AUXL_TYPE = M.AUXL_TYPE
23    AND X.AUXL_RPRSNT_TITLE = 1
24    AND M.AUXL_TYPE = 1
25  GROUP BY X.AUXL_RPRSNT_TITLE, M.AUXL_CODE, D.ITEM_CODE;
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33405 4030010                                         11118  32162.102    3453.58  28708.522
         1      33405 4030020                                           748    869.246      93.34    775.906
         1      33405 4030030                                           748    869.246      93.34    775.906
         1      33408 4030010                                           140     373.34      133.4     239.94
         1      33408 4030020                                            20     37.334      13.34     23.994
         1      33408 4030030                                            20     37.334      13.34     23.994
         1      33410 4030010                                         58812 171351.747   24864.84 146486.907
         1      33410 4030020                                          2436  10879.476    1578.72   9300.756
         1      33410 4030030                                          2436  13599.345     1973.4  11625.945
         1      33413 4030010                                         59130 157668.977  21411.046 136257.931
         1      33413 4030020                                          2774  10799.245    1466.51   9332.735
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33413 4030030                                          2774  10799.245    1466.51   9332.735
         1      33413 5010008                                            73   2159.849    293.302   1866.547
         1      33413 5010009                                            73   2159.849    293.302   1866.547
         1      33413 5010012                                            73   2159.849    293.302   1866.547
15 rows selected.
TONY@RIM>This is with UNION and these are the correct results
TONY@RIM> ed
Wrote file afiedt.buf
  1  SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
  2         M.AUXL_CODE,
  3         D.ITEM_CODE,
  4         SUM(DECODE(M.TMVS_OPERATION,6,D.MVTS_QUANTITY_R,11,-D.MVTS_QUANTITY_R)) QUANTITY,
  5         NULL AMT,
  6         NULL PAID,
  7         NULL DUE
  8  FROM ISTD_STOCK_MOUVEMENTS_M M ,
  9       ISTD_STOCK_MOUVEMENTS_D D,
10       IACD_AUXILIARIES X
11  WHERE M.TMVS_CODE = D.TMVS_CODE
12    AND M.CPNY_CODE = D.CPNY_CODE
13    AND M.BRCH_CODE = D.BRCH_CODE
14    AND M.MVTS_YEAR = D.MVTS_YEAR
15    AND M.MVTS_DOC_NUM = D.MVTS_DOC_NUM
16    AND X.AUXL_TYPE = M.AUXL_TYPE
17    AND X.AUXL_CODE = M.AUXL_CODE
18    AND X.AUXL_RPRSNT_TITLE = 1
19    AND M.AUXL_TYPE = 1
20  GROUP BY X.AUXL_RPRSNT_TITLE, M.AUXL_CODE, D.ITEM_CODE
21  UNION
22  SELECT X.AUXL_RPRSNT_TITLE GRP_CODE,
23         X.AUXL_CODE,
24         NULL ITEM_CODE,
25         NULL QUANTITY,
26         ROUND(SUM(NVL(A.AGAC_REV_AMT, 0)), 2) AMT,
27         ROUND(SUM(NVL(A.AGAC_AMT, 0)), 2) PAID,
28         ROUND(SUM(NVL(A.AGAC_REV_AMT, 0) - NVL(A.AGAC_AMT, 0)), 2) DUE
29  FROM IACD_PAYM_AGING A,
30       IACD_AUXILIARIES X
31  WHERE X.AUXL_TYPE = A.AUXL_TYPE
32    AND X.AUXL_CODE = A.AUXL_CODE
33    AND X.AUXL_RPRSNT_TITLE = 1
34* GROUP BY X.AUXL_RPRSNT_TITLE, X.AUXL_CODE
TONY@RIM> /
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33405 4030010                                           327
         1      33405 4030020                                            22
         1      33405 4030030                                            22
         1      33405                                                           869.25      93.34     775.91
         1      33408 4030010                                            14
         1      33408 4030020                                             2
         1      33408 4030030                                             2
         1      33408                                                            37.33      13.34      23.99
         1      33410 4030010                                          1014
         1      33410 4030020                                            42
         1      33410 4030030                                            42
  GRP_CODE  AUXL_CODE ITEM_CODE                                    QUANTITY        AMT       PAID     DUE
         1      33410                                                          2719.87     394.68    2325.19
         1      33413 4030010                                           810
         1      33413 4030020                                            38
         1      33413 4030030                                            38
         1      33413 5010008                                             1
         1      33413 5010009                                             1
         1      33413 5010012                                             1
         1      33413                                                          2159.85      293.3    1866.55
19 rows selected.
TONY@RIM>Thanks again,
Tony
Message was edited by:
Tony Garabedian

Similar Messages

  • Alternative to union in Oracle 10g

    Below is the sql using union that I am using currently. There are 64 columns from 3 different tables. Out of all the columns only one column value is a constant to get 2 records.
    select col1, col2, col3,...., 'DE' medium_val
    from table1, table2, table3
    where table1.col1 = table2.col1
    and table2.col1 = table3.col1
    and other criteria
    union
    select col1, col2, col3,...., 'WG' medium_val
    from table1, table2, table3
    where table1.col1 = table2.col1
    and table2.col1 = table3.col1
    and other criteria
    Basically just repeating the same code just for one column value. Is there any other alternative to union to avoid querying the same tables twice.

    Hi,
    Here's one way that will work in Oracle 9 (or higher):
    WITH     all_medium_vals     AS
         SELECT  'DE' AS medium_val     FROM dual     UNION ALL
         SELECT     'WG'                FROM dual
    SELECT  col1, col2, col3, ....
    ,      m.medium_val
    FROM      table1
    ,      table2
    ,      table3
    ,     all_medium_vals  m
    WHERE      table1.col1      = table2.col1
    AND     table2.col1      = table3.col1
    AND     ...
    ;Don't reference m.medium_val in the WHERE clause. By leaving it out, you'll do a cross-join of your result set from table1, table2 and table3 with the 2 rows in all_medium_vals.
    Starting in Oracle 11, there's also SELECT ... UNPIVOT.
    You'll notice this query is still doing a UNION, but it's just doing the UNION of two rows, and then doing the complicated query only once. That will be a lot more efficient than doing the complicated query twice, and then doing a UNION of however many rows that happend to produce. There are ways to generate all_medium_vals without a UNION, but they are not as easy to understand or debug, and not significantly more efficient.

  • What is the alternative for DisplayMemberPath="Value" for Windows Store applications?

    I think there is a bug with Windows Store Applications when it comes to using DisplayMemberPath="Value".
    Here is my code
    <ComboBox Height="40" VerticalAlignment="Stretch" SelectedValuePath="Key" DisplayMemberPath="Value" x:Name="comboBox1" FontSize="25"/>
    var source = new Dictionary<string, double>();
    source.Add("Item1", 0.4);
    source.Add("Item2", 0.3);
    source.Add("Item3", 0.1);
    source.Add("Item4", 0.1);
    var formateDSource = new Dictionary<string, string>();
    foreach (var item in source)
    formateDSource.Add(string.Format("[{0}, {1}]", item.Key, item.Value), item.Key);
    comboBox1.ItemsSource = source;
    If you use this code in WPF in works perfectly. However if you use this code in a Windows Store Application then the Combo Box is empty and an error is thrown. So is there an alternative way to do this in Windows Store Applications and have I unearthed a
    bug? Because I have researched the Web for days and found no solution to this.*please do not comment unless you have tried my code as a Windows Store App not a WPF in Visual Studios. Can Someone post an example based on my code that works in Windows Store
    Apps please because this is terrible.
    Thanks

    It looks like you got an answer on SO:
    http://stackoverflow.com/questions/29817124/what-is-the-alternative-for-displaymemberpath-value-for-windows-store-applicat
    This does look like a bug.
    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.
    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with undefined
    objects and unknown namespaces.

  • What are the Flash alternatives for iphone and ipad?

    Hello,
    I would like to know what could be the Flash alternatives for iphone, ipod, and ipad. I would like to create iphone applications that have 3D animation I usually create with Flash.
    But since Apple does not support the use of flash, I need to know what applications or programming languages I must use to create movies or animations for iphone or ipad.

    I would like to create iphone applications
    Then you need to go here:
    http://developer.apple.com/programs/iphone/

  • How to apply filters for union all report in OBIEE 11g

    Hi All
    Can we apply saved filters to union reports in obiee 11g?
    I am able to apply saved filters for normal reports but not for union reports.
    The catalog pane is blank, when i click on result columns or each criteria.
    The only option i see is to manually create the filters for each criteria, dont i have any choice to use a saved filter for union report?
    Is this a bug or something i am unaware. Please guide me
    Thanks

    Hi manu,
    Filter is created based on subject area.we can't use save filter in any other subject areas.
    now we can use new filter for union reports.
    if Helps please mark as correct.. :)

  • Alternative for AT NEW --- ENDAT

    Hello experts,
    I am using field-symbol as internal table. I cant use AT NEW statement inside this loop.
    Can u pls provide alternative for above control break statement.
    Thanks in advance.
    Zak.

    Hi,
    to use control break statement, first you should sort the internal table and then you use it.
    Take one example:
    data: begin of it9 occurs 4,
               f1,
               f2,
             end of it9.
      it9 = '1A'. append it9. "Fill it9 with data
      it9 = '3A'. append it9.
      it9 = '1B'. append it9.
      it9 = '2B'. append it9.
    sort it9 by f1.
    loop at it9.
         at new f1.
             write: / 'start of:', it9-f1.
             endat.
         at end of f1.
             write: / 'end   of:', it9-f1.
             endat.
         endloop.
    free it9.
    Hope it is helpful.
    Regards,
    Chris Gu

  • HT4597 what will be the new alternatives for iWeb publishing,  Idisk & photo gallery ?

    what will be the new alternatives for iWeb publishing,  Idisk & photo gallery ?

    Thanks for the reply that there will be 3rd party support.
    One of the main reasons why I went from PC to Mac was because of all these cool features.
    Am dissapointed to see them leave.  ( Iweb, Photogallery, Idisk... )

  • Alternative for FM 'NAMETAB_GET'

    Hi ,
      Can any one suggest an alternative for the FM 'NAMETAB_GET' in 4.7.
    Regards
    Arun

    Hi,
    You did noyt specify why you want this alternative for.
    Anyways, just check out RFC_GET_NAMETAB, which is also quite similar.
    Regards,
    Anand Mandalika.

  • Alternative for WBS BOM

    hello
    In standard BOM for PP in T-code eg cs01 I can write alternative. But if I want to create WBS BOM with T-code cs71 I can't see such field for alternative. I checked in help.sap.com that alternative for WBS BOM are not used. I don't know why but there is not alternative filed in CS71.
    So is there any other way to get alternatives for WBS BOM like modification, exit etc.
    I checked SAP notes for this but I can't find.
    Any help?

    hello
    Thank you for your answers.
    I have business process where I need WBS alternative. Why? Because of history of changes. My client wants to have 2 versions of one WBS BOM. One for history only and second for operative work. After some changes in WBS BOM and finish the project my client wants to analyse historical version which is created when project starts and the last operative version of the same WBS BOM.
    @Uddhab
    >If we prepare two BOM for a single WBS and attach the same in the WBS, then 2 requirement will flow and there will additional >quantity in the production.
    Yes, if we attach. I want to attach only one WBS BOM so I don't multiply quantity.

  • Alternative for TOAD on Linux

    Hi
    I am migrating my desktop from Windows 2000 to Redhat Linux 9.
    I have been using third party tool TOAD for accessing the data from the database. As TOAD does not have a Linux setup, can any one suggest an alternative for the same.
    Thanks in advance.
    Manoj

    you are posting in the wrong forum.. this forum is for the Desktop Datacenter Oracle on Linux VMware kit..
    you'll get better luck in other forums or better yet, Google.. I put toad and linux as keywords and got lots of hits on TOra.. so you might research that way..
    good luck,
    locking.

  • Alternative for "FND FLEXSQL" in PLSQL

    Hi All
    I have a requirement to created a PLSQL based report for GL data, with range of GL CC as parameter. This could be achived in Oracle reports through user exit FND FLEXSQL.
    But is there an alternative for FLEXSQL to be used in PLSQL. I came across a package FND_FLEX_ORACLE_REPORTS_APIS, but the no contents, it is set to return the message "'This API has not been implemented yet...';".
    The version of the package is /* $Header: AFFFORAB.pls 120.1.12010000.1 2008/07/25 14:14:12 appldev ship $ */
    Is there a newer version for this? or is there an alternative?

    Can u look into gl_flexfields_pkg and see if this helps.
    Cheers,
    ND

  • Alternative for vmware workstation?

    I am learning Application Packaging and it requires me to have a vmware workstaion in my machine. I am currently using MacBookPro Retina 15". Is it possible to install vmware workstation on Mac OS or is there any alternative for it? I would highly appreciate any suggestions.

    Go to the VMWare website for that information. They have VM Fusion for the Mac, and I believe there is also a workstation version.

  • Alternative for HELPSCREEN_NA_CREATE

    Hi
    I am working on a update from 4.0b to 4.7 , on performing extended check on a program the FM HELPSCREEN_NA_CREATE is said to be obsolete , what could be the alternative for it.
    Regards
    Arun

    Hi Christian,
    The function  module "HELPSCREEN_NA_CREATE" itself is calling the function "HELP_OBJECT_SHOW".
    How can we go about calling this "help_object_show" function.
    Regards
    guru

  • Alternative for RFC_READ_TABLE FM

    Hello All,
    SAP has asked not to use RFC_READ_TABLE function module (not to be used by SAPu2019s customers) directly or indirectly. Can anybody please suggest me what will be the alternative for this FM. Or what is the replacement for RFC_READ_TABLE FM?
    Thanks in Advance.

    Hi,
    you can use  RFC_GET_TABLE_ENTRIES  for the same

  • Alternative for CodeXpert

    TOAD has a nice, integrated feature called CodeXpert. It evaluates pl/sql code and recommends possible changes according to a set of programming rules and standards.
    I'm trying to find an alternative for this feature in SqlDeveloper. Maybe a plug-in ?
    Any suggestions ?

    I'm afraid there isn't, but you can always vote on the existing request for this at the SQL Developer Exchange, to add weight for possible sooner implementation. (I believe there is one, else create a new request)
    Regards,
    K.

Maybe you are looking for

  • Removing songs from itunes

    If I remove songs and videos from my itunes and from my computer and then i have my ipod classic 80gb set to manual...will i loose everything on my ipod when i connect it?

  • K8N Platinum Video and S-ATA issues

    hey, here is my problem: i bought some hardware 3 weeks ago, including: A64 3800+ (Venice), MSI K8N Neo4 Platinum (MS-7125), Leadtek PX6800 GT TDH (265MB), Be Quiet! 450 Watt Titanium S1.3 in exchange for my old system (2500+, Abit K7N, ATi Radeon 98

  • Can anybody out there help shed some light on why no audio output using varispeed tempo only

    Can anybody out there help shed some light on why no audio output using varispeed tempo only? I am using Logic Pro 9 and finding no problems using the tempo and pitch option but when I just want to vari the tempo only I loose all output. This include

  • How to create a link to Excel, from Bex Web 3.x

    I need to create a link, from Bex Web 3.x, to Excel or PDF, how can i do this? I only do a link with another PAge in internet explorer. Thanks Romina

  • My phone directory is blocked in my N900

     " My device phone directory including emergency calls has been blocked due to communication errors. To recover it the device may require to reboot again. " For the aforesaid issue , I contacted Nokia Care Center. They said we will do software update