Add empty rows to select

Hi I have the following select
select bz.type_id, bz.year, bz.amount_cars
      from  my_table bz
        order by bz.type_id, bz.yearthe output looks like this:
type_id, year, amount_cars
581     2013     3
581     2014     3
581     2015     3
581     2016     3
581     2017     3
641     2013     59
641     2014     60My problem: I need to always show the next five years. If the table doesn't have it for the type_id then it should be generated some how:
type_id, year, amount_cars
581     2013     3
581     2014     3
581     2015     3
581     2016     3
581     2017     3
641     2013     59
641     2014     60
641     2015     0
641     2016     0
641     2017     0Hope you can help.
Cheers
Tobias

Hi Tobias,
you need a cartesian join (or cross join) between types and years.
I have assumed that years are starting from next year (from sysdate).
Here my test:
WITH mytable AS
   SELECT 581 type_id, 2013 yr, 3  amount_cars FROM DUAL UNION ALL
   SELECT 581 type_id, 2014 yr, 3  amount_cars FROM DUAL UNION ALL
   SELECT 581 type_id, 2015 yr, 3  amount_cars FROM DUAL UNION ALL
   SELECT 581 type_id, 2016 yr, 3  amount_cars FROM DUAL UNION ALL
   SELECT 581 type_id, 2017 yr, 3  amount_cars FROM DUAL UNION ALL
   SELECT 641 type_id, 2013 yr, 59 amount_cars FROM DUAL UNION ALL
   SELECT 641 type_id, 2014 yr, 60 amount_cars FROM DUAL
), got_years AS
   SELECT EXTRACT(YEAR FROM SYSDATE) + LEVEL yr
     FROM DUAL
  CONNECT BY LEVEL <=5
SELECT a.yr, b.type_id, NVL(c.amount_cars, 0) amt_cars
  FROM got_years a
       CROSS JOIN (SELECT distinct type_id from mytable) b
       LEFT OUTER JOIN mytable c ON (a.yr = c.yr AND b.type_id = c.type_id)
ORDER BY b.type_id, a.yr;
Output:
        YR    TYPE_ID   AMT_CARS
      2013        581          3
      2014        581          3
      2015        581          3
      2016        581          3
      2017        581          3
      2013        641         59
      2014        641         60
      2015        641          0
      2016        641          0
      2017        641          0Instead of cross joining with (SELECT distinct type_id from mytable) you might want to cross join with a table having list of type_id.
Regards.
Al

Similar Messages

  • How to add empty rows in table in smart form

    how to add empty rows in table in smart form?
    plz help me regarding this
    send me ur queries to [email protected]

    You will need to add some extra rows to the internal table that your table is displaying.  Use a program node to append additional rows with a key but no argument.
    Alternaively a template may me more suitable for your requirement than a table.
    Finally, please do not include you e-mail address in your question.  Your question and the answers provided to it are for the benefit of everyone in the Community.
    Regards,
    Nick

  • Add Empty Row not working

    Hi,
    We have an "Add Empty Row" Button.
    When that is clicked a new row seems to be added but we cannot view it.
    It is visible when a seperate action is carried out. Like a checkbox being checked.
    It seems that there is no refresh after the row has been added.
    This was working previously.
    What change could have been done that has caused this.
    Regards,
    Girishkumar Hegde

    data lo_nd_nd_pernr type ref to if_wd_context_node.
        data lt_nd_pernr type wd_this->elements_nd_pernr.
        data ls_nd_pernr type wd_this->element_nd_pernr.
        lo_nd_nd_pernr = wd_context->get_child_node( name = wd_this->wdctx_nd_pernr ).
        lo_nd_nd_pernr->get_static_attributes_table( importing table = lt_nd_pernr ).
      if lt_nd_pernr is initial.
          append ls_nd_pernr to lt_nd_pernr.
        elseif lt_nd_pernr is not initial.
      clear ls_nd_pernr.
      append ls_nd_pernr to lt_nd_pernr.
        endif.
      lo_nd_nd_pernr->bind_table( lt_nd_pernr ).
    This is the sample code for adding rows. Compare with this.

  • InDesign Table - Collapse empty Row

    My apologies if this is not posted in the proper category...
    Ok, here's my issue...
    I have a table with 5 rows.  Sometimes, not all of the rows in the table will contain data.  Is it possible for InDesign to automatically collapse a row if there is no data present in the cells in that row?
    Thanks!

    Jongware has probably answered this already, but if not:
    To run a script in InDesign, copy the code and paste it into
    an ordinary text editor (such as Notepad in Windows), then
    save the file with the extension .jsx in the Scripts Panel Folder
    (typical path: Start > MyComputer > Local Disk(C:) >
    Program Files > Adobe > Adobe InDesign CS3 > Scripts >
    Scripts Panel).
    It will then be available from within InDesign (Window > Automation > Scripts).
    Yesterday's script removes empty rows from all tables in a document.
    You might find the script below a bit more convenient, as it removes
    empty rows in selected tables (or tables in selected text) only.
    To run the script, highlight a table or some text containing a
    number of tables, and then double-click on the name of the script in
    the Scripts panel.
    var mySelection=app.activeDocument.selection[0];
    try{ var myTableCount = mySelection.tables.length;}
    catch(myError){ var myTableCount = 1;}
    for (var i=myTableCount-1; i >=0; i--) {
    try{ var myTable = mySelection.tables.item(i);}
    catch(myError){var myTable = mySelection; }
    for(var j=myTable.rows.length-1; j>=0; j--){
                var myContents = 0;
                for(var k=myTable.rows[j].cells.length-1; k>=0; k--){
                    if (myTable.rows[j].cells[k].contents != "") myContents++;
                if (myContents == 0) myTable.rows[j].remove();

  • To add new row with the checkbox selected ....

    Hi All,
    In my project I have to create a table with 2 columns, 1 column is checkbox and other column is String type. In the same JFrame one textarea and one add button should be there. When we type text in the textarea and click add button, it should add a new row in the table with the checkbox selected and the 2nd column containing the text.
    I want to use AbstractTableModel.
    Please help me to solve this issue. If you have sample code that will be more helpful.
    Thank you,
    Regards,
    mkumar

    It would be better if you extend from DefaultTableModel rather than from Abstract Table Model. That is because DefaultTableModel provides functionality to add a row. In fact, you can directly use DefaultTableModel .
    In the button's action performed,
    public void actionPerformed(ActionEvent e)
      if(e.getSource() == bAdd)
        Vector newRow = new Vector(2);
        newRow.add(new Boolean(Boolean.TRUE));
        newRow.add(" ");
        DefaultTableModel dm = (DefaultTableModel)yourTable.getModel();
        dm.addRow(newRow);
    }Note : For the above code, Initialize the JTable with a DefaultTableModel parameter than directly with Vectors/ Arrays.
    This is because when we try to cast from TableModel to DefaultTableModel as in the above code, there is a possibility of an
    Exception if the Table is not initialized without a model.
    For the CheckBox in the first column, you need to set an editor and a renderer so that you can manipulate and see your boolean values as the state of the check boxes.
      JCheckBox b = new JCheckBox();
      DefaultTableCellRenderer dr = new DefaultTableCellRenderer(b);
      DefaultTableCellEditor de = new DefaultTableCellEditor(b);
      yourTable.getColumnModel().getColumn(0).setCellEditor(de);
      yourTable.getColumnModel().getColumn(0).setCellRenderer(dr);That should do it !
    Cheers

  • - Add an empty row before every subtotal display -

    Hi,
    I would like know the best way to define an empty row before the start of subtotal display in the BW query.
    Thanks,
    Venu

    Hi,
    Pls Refer - /thread/814122 [original link is broken]
    Regards
    CSM Reddy

  • How can I create an empty row on a #TempTable based on an input parameter

    So if my Line of Business is 'MC' or 'MG', I have to go over to Oracle and get its data accordingly. Then, when I create my final report result set, I think I'll want to UNION in that result set if my Parameter is 'MC' or 'MG'. I don't think I can UNION
    based on the value of the Parameter. So my thought process was to create an empty row on my #TempTable so when I UNION and my parameter is NOT 'MC' or 'MG' then it will have nothing to UNION in. My struggle is how do I create an empty row in my #TempTable
    if my parameter is NOT 'MC' or 'MG'
    If I am wwwaaayyy off here, please tell me so.
    This is my #TempTable Creation SQL...
    IF EXISTS
    (SELECT 1
    FROM [#TempTable_LineOfBusiness_Parameter]
    WHERE [#TempTable_LineOfBusiness_Parameter].[RESULT] IN ('MC','MG'))
    BEGIN
    SELECT *
    INTO [#TempTable_Market_Prominence_Member_Data]
    FROM OPENQUERY
    (RPDMHF,
    'SELECT HCFA_NAME_ORG.NAME_ID,
    HCFA_NAME_ORG.MEMBER_ID,
    HCFA_NAME_ORG.HIC_NUMBER,
    MEMBER.NAME_FIRST,
    MEMBER.NAME_LAST,
    HCFA_DATE.START_DATE,
    HCFA_DATE.END_DATE,
    HCFA_NAME_ORG.COUNTY_CODE,
    HCFA_NAME_ORG.PART_A_PAYMENT,
    HCFA_NAME_ORG.PART_B_PAYMENT,
    HCFA_NAME_ORG.STATUS,
    HCFA_NAME_ORG.ORG_ID,
    HCFA_NAME_ORG.PLAN,
    HCFA_NAME_ORG.ENROLL_DATE,
    HCFA_NAME_ORG.PBP_ID,
    HCFA_DATE.VALUE
    FROM SC_BASE.HCFA_DATE
    LEFT JOIN SC_BASE.HCFA_NAME_ORG
    ON HCFA_NAME_ORG.NAME_ID = HCFA_DATE.NAME_ID
    LEFT JOIN AMIOWN.MEMBER
    ON TRIM(MEMBER.MEMBER_NBR) = TRIM(HCFA_NAME_ORG.MEMBER_ID)
    WHERE HCFA_DATE.INDICATOR = ''plan''
    AND HCFA_DATE.START_DATE >= ''2015-01-01''
    END
    If I add an ELSE, it always comes back and tells me the #TempTable_Market_Prominence_Member_Data already exists. As if it's creating it regardless of the Top IF.
    Thanks for your review and am hopeful for a reply.

    Hi ITBobbyP,
    The error came back from your ELSE Statement most probably caused by the reason mentioned in Hoffmann's post.
    Regarding your requirement, I would suggest you CREATE the [#TempTable_Market_Prominence_Member_Data] explicitly.
    CREATE TABLE [#TempTable_Market_Prominence_Member_Data]
    NAME_ID INT,
    MEMBER_ID INT,
    HIC_NUMBER VARCHAR(99),
    NAME_FIRST VARCHAR(99),
    NAME_LAST VARCHAR(99),
    START_DATE DATE,
    END_DATE DATE,
    COUNTY_CODE VARCHAR(99),
    PART_A_PAYMENT MONEY,
    PART_B_PAYMENT MONEY,
    STATUS VARCHAR(99),
    ORG_ID INT,
    PALN VARCHAR(99),
    ENROLL_DATE VARCHAR(99),
    PBP_ID INT,
    VALUE INT
    IF EXISTS
    (SELECT 1
    FROM [#TempTable_LineOfBusiness_Parameter]
    WHERE [#TempTable_LineOfBusiness_Parameter].[RESULT] IN ('MC','MG'))
    BEGIN
    INSERT INTO [#TempTable_Market_Prominence_Member_Data]
    SELECT *
    FROM OPENQUERY
    (RPDMHF,
    'SELECT HCFA_NAME_ORG.NAME_ID,
    HCFA_NAME_ORG.MEMBER_ID,
    HCFA_NAME_ORG.HIC_NUMBER,
    MEMBER.NAME_FIRST,
    MEMBER.NAME_LAST,
    HCFA_DATE.START_DATE,
    HCFA_DATE.END_DATE,
    HCFA_NAME_ORG.COUNTY_CODE,
    HCFA_NAME_ORG.PART_A_PAYMENT,
    HCFA_NAME_ORG.PART_B_PAYMENT,
    HCFA_NAME_ORG.STATUS,
    HCFA_NAME_ORG.ORG_ID,
    HCFA_NAME_ORG.PLAN,
    HCFA_NAME_ORG.ENROLL_DATE,
    HCFA_NAME_ORG.PBP_ID,
    HCFA_DATE.VALUE
    FROM SC_BASE.HCFA_DATE
    LEFT JOIN SC_BASE.HCFA_NAME_ORG
    ON HCFA_NAME_ORG.NAME_ID = HCFA_DATE.NAME_ID
    LEFT JOIN AMIOWN.MEMBER
    ON TRIM(MEMBER.MEMBER_NBR) = TRIM(HCFA_NAME_ORG.MEMBER_ID)
    WHERE HCFA_DATE.INDICATOR = ''plan''
    AND HCFA_DATE.START_DATE >= ''2015-01-01''
    END
    Explicitly creating the temp table will offer below benefit in this case.
    The ELSE statement is no longer needed, if the no rows get inserted into that table, it has nothing to union an empty table.
    With the column datatype defined, you can avoid such conversion error
    SELECT NULL AS COL1,NULL AS COL2 INTO #T
    SELECT COL1,COL2 FROM #T
    UNION
    SELECT 1,'ABC'--Conversion failed when converting the varchar value 'ABC' to data type int.
    If you have any question, feel free to let me know.
    Eric Zhang
    TechNet Community Support

  • How to add a row in an emty table

    Hi,
    I would like to use only one nav bar in a Panel containing 2 JTables. So I bind the nav bar to the JUPanel.
    The problem is if one or both of the tables are empty there is no way to add a row, since the JTable doesn't
    get the focus and the nav bar stay's grayed out.
    What is the best solution for this?
    I don't want to have 2 nav bars each bound to the corresponding view.
    May be there is a way to have an empty row if there are no rows in the table.
    Thanks

    One way folks on OTN reported they've worked around this issue is to add an combo implementing iterator picker on the NavBar. Then when they end up in this situation, the users can select the right iterator and add rows to it by binding the navbar to that iterator (which is not focus-able due to no rows in it in a table display).
    Another way I would suggest is to trap a mouse-click event on the table and if clicked upon, make the navbar focus on the iterator that the table was bound to.

  • Add new rows when query not input-ready

    In the Web Application Designer, is it possible to detect whether a query is in display or change mode, and depending on the outcome to set an Analysis Item parameter ?  This would provide a solution to the following:
    Background: I have a Web template used for sales quantity planning which contains two Analysis Items, each with their own input-ready query: ANALYSIS_ITEM_EXISTING allows users to enter plan values based on existing characteristic combinations, ANALYSIS_ITEM_NEW_ROWS allows users to enter new characteristic combinations and their plan values (using the 'Number of New Lines' parameter). These two separate Analysis Items are needed so that I can restrict the characteristic values differently for each. ANALYSIS_ITEM_NEW_ROWS shows only new rows, since I have set both parameters 'Number of New Lines' and 'Data Row to' to 5.
    Problem: If the query underlying ANALYSIS_ITEM_NEW_ROWS is not able to go into change mode (such as when there is an active data slice, or a locking conflict), then instead of seeing 5 empty rows the user sees existing data from the underlying query. This looks bad and is confusing for the user.
    Can anyone think of a solution?

    Hi Jacky,
    The Bex analyzer works in the same way as in the web. You've restrict all charateristics which are not in your rows or columns to a single value. Then you can see that in excel the last blank row has a  black border. If this is the case you can add a new row.
    By pressing F4 in an empty cell you can select values or if you've know the key you can type it directly. Also you can add multiple rows at once. IP collects all rows below the query.
    If this not works, just put all chars from your aggr. level in the rows and check if this works. And then for each change to the restriction/layout run the query and look if you can still add new rows.
    Hope it helps.
    Regards,
    J.

  • Empty rows in advanced table

    Hi there,
    In my advanced table with multiple selection check box, I have the logic to insert 10 rows into the view object before the table is rendered. So my table display 10 new blank rows.
    Assume user only enter 3 rows and I don't want to save those 7 empty rows. How can I recognize the 7 empty rows and remove them from the VO?
    Please advise.
    thanks,
    Charles

    Hi Charles,
    You may be dispalying some columns on OAF page, check all thos for null, if every field is Null then it is unused and you can remove it.
    This is sample code:
    public void deleteUnusedLines()
    XXEGASRLinesVOImpl pervo = getXXEGASRLinesVO1();
    if(pervo==null)
    Row row[] = pervo.getAllRowsInRange();
    System.out.println("No of items "+row.length);
    for (int i=0;i<row.length;i++)
    XXEGASRLinesVORowImpl rowi = (XXEGASRLinesVORowImpl)row;
    if((rowi.getItemDescription()==null)||("".equals(rowi.getItemDescription().trim())))//add more conditions here to locate empty rows.
    rowi.remove();
    Regards,
    Reetesh Sharma

  • What is the use of additon in up to 1 rows in SELECT statement

    Hi All,
             What is the use of up to 1 rows in select statement.
    for example
    SELECT kostl
          FROM pa0001
          INTO y_lv_kostl UP TO 1 ROWS
          WHERE pernr EQ pernr
          AND endda GE sy-datum.
        ENDSELECT.
    I'm unable to get in wat situations we hav to add up to 1 rows
    please help me out...
    Thanks,
    santosh.

    Hi,
    Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
    The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
    The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
    Regards,
    Bhaskar

  • If I add a row to my spreadsheet, how do I get the footer cell to show the last amount in the table automatically?

    Balance Forward
    $0.00
    Date
    Code
    Check Number
    Transaction/Description
    Deposit
    Withdrawl
    Ending Balance
    I am able to set up the Ending Balance to show the value of the cell right above it as long as I dont need anymore rows. If I add a row the value of the ending balance is stuck on the row or rows above the newly addd ones. All of my other formulas contiune on when a row is added, Is there a formula that can be added so that when a row is added the ending balance value moves to the last cell in the row?

    Cobb425 wrote:
    Thank you badunit for your responses and help. Jerrolds formula worked for me a little bit better for what I was looking to do. Thank you again for your help
    Whatever works best for you. Jerry's formula assumed your table might not be totally full, that there might be empty rows at the bottom.  Mine assumed there were no empty rows; it gave the value of the cell directly above it, as you asked. With Jerry's formula, be sure you enter your data in order by date or keep it sorted that way to ensure you get the correct "Ending Balance".  If your last row does not have the most recent date, the formula will return the balance from a different row.
    I don't see the advantage in Jerry's "Balance Forward" formula over the simpler one I provided.

  • How to add a row in Numbers

    Hi,
    how can I add a row above a certain row in Numbers? I'm trying to insert a row right at the top of my table.
    Thanks
    p.

    Tap on the table to expose the selector controls. Tap on the row at the far left (on the control bar to left of the first cell. You should se a menu pop up. tap Insert. If this is done at the first row, you should have the option of selecting a body or header row.
    you also might find this helpful: http://help.apple.com/numbers/ipad/2.0/

  • How can I add a row into a JTable with JButton

    Hi all. I have the following code:
    package gui;
    import db.*;
    import javax.swing.table.AbstractTableModel;
    import java.util.ArrayList;
    public class FoundersTable extends AbstractTableModel{
        private static final int COLUMNS = 8;
        private String columnNames[] = {"��� ����", "���", "�������", "�������", "���������", "��������",
                "����� �� ����������", "������ �� ����, �����"};
        private ArrayList data;
        public FoundersTable(){
            data = new ArrayList();
        public int getRowCount() {
            return data.size();
        public int getColumnCount() {
            return columnNames.length;
        public String getColumnName(int colIndex) {
            return columnNames[colIndex];
        public Object getValueAt(int rowIndex, int columnIndex) {
            return ((ArrayList)data.get(rowIndex)).get(columnIndex);
        public void setValueAt(Object value, int rowIndex, int columnIndex) {
            ((ArrayList)data.get(rowIndex)).set(columnIndex, value);
            fireTableCellUpdated(rowIndex, columnIndex);
        public void addRow(ArrayList neueZeile) {
            data.add(neueZeile);
            int index = data.size() - 1;
            fireTableRowsInserted(index, index);
        public void removeRow(int index) {
            data.remove(index);
            fireTableRowsDeleted(index, index);
        public void removeAllRows() {
            data.clear();
            fireTableRowsDeleted(0, 0);
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return true;
    }Now in my MainJFrame class I have one button for additing and one button for removing a selected row. How can I add/remove rows with this two buttons.
    Thanks

    No my question is how can I add and remove rows WITH buttons My point was the code is the same. You use the addRow(...) method. Why did you write an addRow(...) method if you aren't going to use it?
    I don't understand your problem. Do you not know how to write an ActionListener?

  • How to Add a Row by clicking in other different Region

    Hello Im trying to build a page that allows me to add items to a region by clicking in a report region in the same page.
    I created a Report Region with my information , It has a link and one image in the region 1.
    in other region(REgion 2) I have a tabular form from one table,
    the idea is , how to Add rows to the tabular form(REgion 2) clicking items from the reports region (Region 1)the item could be the image or the link.
    I tried with Addrow javaScrip, on my image as a link or even my link, and it worked ,but it works just adding an empty row and i need to add a row with information of the report region (Region 2) for example ID_product.
    so this is other question how to use Addrow javascrip , including data in the row automaticly .
    Well this is what i have been trying ,I don't know if this is the correct way to do it , or if the best way.
    Maybe there is another method , like ajax or something
    Please any advice will be appreciated.

    Hello Im trying to build a page that allows me to add items to a region by clicking in a report region in the same page.
    I created a Report Region with my information , It has a link and one image in the region 1.
    in other region(REgion 2) I have a tabular form from one table,
    the idea is , how to Add rows to the tabular form(REgion 2) clicking items from the reports region (Region 1)the item could be the image or the link.
    I tried with Addrow javaScrip, on my image as a link or even my link, and it worked ,but it works just adding an empty row and i need to add a row with information of the report region (Region 2) for example ID_product.
    so this is other question how to use Addrow javascrip , including data in the row automaticly .
    Well this is what i have been trying ,I don't know if this is the correct way to do it , or if the best way.
    Maybe there is another method , like ajax or something
    Please any advice will be appreciated.

Maybe you are looking for