FAQ
Greetings,

Could somebody help on the following.

Thanks,
Ashoke


I have a table with the following values

Lot# lot_desc start_date qty
1 Sample 09/02/2005 1
1 Sample 09/03/2005 2
2 Sample 09/02/2005 1
2 Sample 09/03/2005 2
3 Sample 09/02/2005 1
3 Sample 09/03/2005 2
4 Sample 09/02/2005 1
4 Sample 09/03/2005 2
4 Sample 09/04/2005 1
4 Sample 09/05/2005 2

The output must be like the following:

Lot#1 Lot_desc sum(qty) 09/02/2005 09/03/2005 09/04/2005 09/05/2005

1 Sample 3 1 2
2 Sample 3 1 2
3 Sample 3 1 2
4 Sample 6 1 2 1

2

Is this possible with one single statement? If so, could you please send
me the query.

Search Discussions

  • Phil Singer at Sep 8, 2005 at 6:55 pm
    At 10:30 AM Mandal, Ashoke wrote something which looks depressingly like
    a homework assignment:
    Greetings, >
    Could somebody help on the following.
    _help_, yes.
    Thanks,
    Ashoke >
    I have a table with the following values >
    Lot# lot_desc start_date qty
    1 Sample 09/02/2005 1
    1 Sample 09/03/2005 2
    2 Sample 09/02/2005 1
    2 Sample 09/03/2005 2
    3 Sample 09/02/2005 1
    3 Sample 09/03/2005 2
    4 Sample 09/02/2005 1
    4 Sample 09/03/2005 2
    4 Sample 09/04/2005 1
    4 Sample 09/05/2005 2 >
    The output must be like the following: >
    Lot#1 Lot_desc sum(qty) 09/02/2005 09/03/2005 09/04/2005 09/05/2005
    1 Sample 3 1 2
    2 Sample 3 1 2
    3 Sample 3 1 2
    4 Sample 6 1 2 1
    2
    For help with the more general case, my advice is to do a search on
    asktom.oracle.com using "sql query pivot".

    For this specific case, remember that every column you want in your
    result must be included as a column in your select clause. Thus, you
    are going to need a select clause like:

    select lot_no, descrip, sum(qty), sum(col1), sum(col2), sum(col3),
    sum(col4)

    The trick is that you use CASE or DECODE statements to where to put each
    row of your table into a subquery. You want to transform your example
    table into something which looks like this:

    lot_no descrip qty col1 col2 col3 col4

    1 Sample 1 1 0 0 0
    1 Sample 2 0 2 0 0
    2 Sample 1 1 0 0 0
    2 Sample 2 0 2 0 0
    3 Sample 1 1 0 0 0
    3 Sample 2 0 2 0 0
    4 Sample 1 1 0 0 0
    4 Sample 2 0 2 0 0
    4 Sample 1 0 0 1 0
    4 Sample 2 0 0 0 1

    where each coli is obtained from a CASE or DECODE expression.

    Once you have written something which gives you the above, you ought to
    find it easy to use it to get your result.
    Is this possible with one single statement? If so, could you please send Yes
    me the query.
    If this didn't look so much like a homework assignment, I probably would
    have.
    >

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouporacle-l @
categoriesoracle
postedSep 8, '05 at 12:37p
activeSep 8, '05 at 6:55p
posts2
users2
websiteoracle.com

2 users in discussion

Mandal, Ashoke: 1 post Phil Singer: 1 post

People

Translate

site design / logo © 2023 Grokbase