Count(*) , group by with multiple columns from multiple tables involved

Hi all,
I am relatively new to SQL.
Currently I have these few requirements, to display quite a number of fields from 3 tables for display of report.
In my query I need to:
1.) count(*)
2.) select quite a number of fields from table 1,2,3
However when count(*) is used, grouped by has to be used to.
How do I actually use group by with so many columns to be selected?
I have actually used the query below, but the count(*) returns 1, the correct output should be 3 instead.
select count(*), table1.col1, table1.col2, table1.col3, table2.col3, table2.col4, table2.col6, table3.col1, table3.col4, table3.col5
from table1, table2, table3
where
<conditions>........................
group by table1.col1, table1.col2, table1.col3, table2.col3, table2.col4, table2.col6, table3.col1, table3.col4, table3.col5
I know this group by statement looks very unrefined. How can I select multiple fields from different tables, and yet get the count(*) correctly?
Thank you so much for your time.

Hmm yes it actually does return count as 1 for each row. But there are 3 rows returned. E.g.
ctr table1.col1 table1.col2 ..........
1 value1 value1
1 value2 value3
1 value3 value4
If I put the count(*) outside, it returns 3 , the correct output
ctr
3
select count(*) from
select table1.col1, table1.col2, table1.col3, table2.col3, table2.col4, table2.col6, table3.col1, table3.col4, table3.col5
from table1, table2, table3
where
<conditions>
group by table1.col1, table1.col2, table1.col3, table2.col3, table2.col4, table2.col6, table3.col1, table3.col4, table3.col5
Thus I was wondering if it was the group by of multiple colns that resulted in the count stucked at value 1.

Similar Messages

  • Insert into a table with unique columns from another table.

    There are two tables,
    STG_DATA                                                          
    ORDER_NO    DIR_CUST_IND
    1002                     DNA
    1005                     GEN
    1005    
    1008                     NULL
    1001                     NULL
    1001                     NULL
    1006                     NULL
    1000                     ZZZ
    1001                     ZZZ
    FACT_DATA
    ORDER_NO    DIR_CUST_IND
    1005                      NULL
    1006                      NULL
    1008                      NULL
    I need to insert only unique [ORDER_NO] from STG_DATA to FACT_DATA with corresponding [DIR_CUST_IND]. Though STG_DATA has multiple rows with same ORDER_NO, I need to insert only one of that it can be any record.
    Sarvan

    CREATE TABLE #Level(ORDER_NO INT, DIR_CUST_IND CHAR(3))
    INSERT #Level
    SELECT 1002,'DNA' UNION
    SELECT 1005,'GEN' UNION
    SELECT 1005,NULL UNION
    SELECT 1008,NULL UNION
    SELECT 1001,NULL UNION
    SELECT 1001,NULL UNION
    SELECT 1006,NULL UNION
    SELECT 1000,'ZZZ' UNION
    SELECT 1001,'ZZZ'
    SELECT ORDER_NO,DIR_CUST_IND
    FROM( SELECT ROW_NUMBER()OVER(PARTITION BY ORDER_NO ORDER BY ORDER_NO) RowNum,*
    FROM #Level)A
    WHERE RowNum=1
    I hope this would give you enough idea. All you have to do is just write insert statement.
    Next time please post DDL & DML.
    Chaos isn’t a pit. Chaos is a ladder. Many who try to climb it fail and never get to try again. The fall breaks them. And some are given a chance to climb, but they refuse. They cling to the realm, or the gods, or love. Illusions. Only the ladder is real.
    The climb is all there is.

  • Matrix with Info Columns from different Table

    Hi, how can i manage to have a column in a matrix that doesn't represent a value of the table the other columns are using?
    For example, i have a matrix and this matrix has values of the UDT (@Table) and one column contains the projectcode. now i want one column in my matrix to show the project name of the OPRJ. how can i manage that, so that the value of this column in the matrix changes when i change the value of the other column with the project code?
    best regards
    Philipp

    Hi
    1) You can fill the matrix from Recordset.
    For example: UDT is [@O01_USERTABLE].
    PrjCode foreign key to the Projects table (OPRJ - not exposed through the DI API).
    So, if you type correctly PrjCode, you can fetch description using method below.
    Dim sSql As String = ""
    sSql = " SELECT U.PrjCode AS PrjCode, S.PrjName As PrjName" & _
               " FROM [@O01_USERTABLE] AS U, OPRJ AS S" & _
               " WHERE U.PrjCode = S.PrjCode"
    oRS = SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
    oRS.DoQuery(sSql)
    If oRS.RecordCount > 0 Then
      Dim i As Integer = 0
      oRS.MoveFirst()
      While oRS.EoF = False
        i = i + 1
        oForm.DataSources.UserDataSources.Item("uNr").Value = i     ' 1" matrix column for row number
        oForm.DataSources.UserDataSources.Item("uPrjCode").Value = oRS.Fields.Item("PrjCode").Value
        oForm.DataSources.UserDataSources.Item("uPrjName").Value = oRS.Fields.Item("PrjName").Value
        oMatrix.AddRow()
        oRS.MoveNext()
      End While
    End If
    2) On ManageDataEvent, call Matrix_FetchDescriptions(...)
    Public Sub ManageDataEvent(ByRef BusinessObjectInfo As SAPbouiCOM.BusinessObjectInfo, ByRef BubbleEvent As Boolean)
      Dim oForm As SAPbouiCOM.Form = SBO_Application.Forms.Item(BusinessObjectInfo.FormUID)
      If BusinessObjectInfo.EventType = SAPbouiCOM.BoEventTypes.et_FORM_DATA_LOAD Then
        If Not BusinessObjectInfo.BeforeAction Then
          Try
           oForm.Freeze(True)
         Dim oMatrix As SAPbouiCOM.Matrix
         oMatrix = oForm.Items.Item("mtx00").Specific
         If oMatrix.RowCount > 0 Then
           Call Matrix_FetchDescriptions(oForm, -1)
         End If
          Catch ex As Exception
          Finally
         oForm.Freeze(False)
         oForm.Update()
          End Try
        End If
      End If
      oForm = Nothing
    End Sub
    ' Update column Name
    Private Sub Matrix_FetchDescriptions(ByRef oForm As SAPbouiCOM.Form, ByVal iRow As Integer)
      Dim oMatrix As SAPbouiCOM.Matrix
      Dim oColumn As SAPbouiCOM.Column
      Dim oCell As SAPbouiCOM.Cell
      Dim oEdit As SAPbouiCOM.EditText
      Try
        If SBO_Company.Connect Then
         oMatrix = oForm.Items.Item("mtx00").Specific
         If oMatrix Is Nothing Then Throw New Exception("ERROR: matrix object is nothing")
         Dim iNrRows As Integer = oMatrix.RowCount ' iRow
         If iNrRows > 0 Then
           Dim i As Integer = 1
           For i = 1 To iNrRows
             Dim sCode As String = ""
             Dim sName As String = ""
             Try
                  ' Matrix column PrjCode
               oColumn = oMatrix.Columns.Item("ePrjCode")
               oCell = oColumn.Cells.Item(i)
               oEdit = oCell.Specific
               sCode = oEdit.Value
               sName = GetNameByCode(sCode)
               If Not sName.Equals("") Then
                     ' Matrix column PrjName
                oColumn = oMatrix.Columns.Item("ePrjName")
                oCell = oColumn.Cells.Item(i)
                oEdit = oCell.Specific
                oEdit.Value = sName
               End If
               If iRow = i Then Exit Sub
             Catch ex As Exception
             Finally
             End Try
           Next
           oForm.Refresh()
         End If
        End If
      Catch ex As Exception
        ' log exception
      Finally
        oMatrix = Nothing
        oColumn = Nothing
        oCell = Nothing
        oEdit = Nothing
        System.GC.Collect() 'Release the handle to the table
      End Try
    End Sub
    To get Name using Code...
    Private Function GetNameByCode(ByVal sCode As String) As String
      If sCode.Trim.Equals("") Then Return ""
      Dim sName As String = ""
      Dim oRS As SAPbobsCOM.Recordset
      Try
        oRS = SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
        Dim sSql As String = "SELECT PrjName FROM OPRJ WHERE PrjCode = '" & sCode.Trim & "'"
        oRS.DoQuery(sSql)
        oRS.MoveFirst()
        While oRS.EoF = False
          sName = oRS.Fields.Item("PrjName").Value()
          Exit While
        End While
      Catch ex As Exception
      Finally
        If Not oRS Is Nothing Then
          System.Runtime.InteropServices.Marshal.ReleaseComObject(oRS)
          oRS = Nothing
        End If
      End Try
      Return sName
    End Function
    Note: Matrix_FetchDescriptions() have second argument (iRow As Integer) what may be used to indicate in what row you need to update PrjName column.
    May be ItemManagment event when item pressed can be used... Try
    HTH
    BR
    Sierdna S.

  • GROUP BY with multiple columns.

    I have little query about GROUP BY clause.
    Sometimes we will give multiple column names in GROUP BY .If it behaves in the same way as ORDER BY (multiple columns) i would love to have an example where I can use GROUP BY multiple columns. Anyways howsoever it behaves it will be really appreciated if anyone can explain a scenario where GROUP BY with multiple columns can be used.
    I know about the usage of aggregate functions with GROUP BY but using only one column.
    Thanks..!!!

    Hi,
    Group by is used for grouping of same records. check this bellow scenario
    SELECT registrationid, dateofbirth, age FROM prawin62 WHERE registrationid = 22;
    22     1/23/1975     54
    22     5/18/2011     66
    22     5/18/2011     66
    22     5/18/2011     66
    22     5/18/2011     66
    22     5/18/2011     66SELECT registrationid, sum(age) FROM prawin62 WHERE registrationid = 22 GROUP BY registrationid;
    22     384SELECT registrationid, dateofbirth, sum(age) FROM prawin62 WHERE registrationid = 22 GROUP BY registrationid, dateofbirth ;
    22     5/18/2011     330
    22     1/23/1975     54Thanks,
    Praveen

  • How to build a form with multiple tables in oracle application express

    Hi everyone,
    I have got problem in building a form with multiple tables.I have a main table with (20) columns and this main table is related to the other tables with the primary key-foreign key relation ship.My requirement is i have to build a form which has fields from many tables and all the fields are related to the main table using (ID) column.In that form if i enter ID field i have to get information from differnt tables.
    Please help me to solve this (building a form with mutiple tables)
    Thank you
    sans

    Sans,
    I am no Apex expert, but with a situation as "complex" as yours, have you thought about creating a VIEW that joins these 7/8 tables, placing an INSTEAD OF trigger on that view to do all the business logic in the database, and base your application on the view?
    This is the "thick-database" approach that has been gaining momentum of late. The idea is to put your business logic in the database wherever possible, and let the application (Form, Apex, J2EE, whatever) concentrate on UI issues,

  • Create View table with multiple table

    I want to create View table with relation with multiple tables.
    for ex
    table 1
    mrnno
    mrnqty
    table 2
    mrnno
    issqty
    table 3
    mrnno
    retqty
    want to create view table where i can see the sum (mrnqty), sum(issqty),sum(retqty) group by mrnno
    sandy

    Hi
    CREATE OR REPLACE FORCE VIEW my_view AS
    WITH t1 AS
    (SELECT mrnno,
                      SUM(mrnqty) sum1
    FROM table_1
    GROUP BY mrnno),
    t2 AS
    (SELECT mrnno,
                      SUM(issqty) sum2
    FROM table_2
    GROUP BY mrnno),
    t3AS
    (SELECT mrnno,
                      SUM(retqty) sum3
    FROM table_3
    GROUP BY mrnno)
    SELECT mrnno,
                    sum1,
                   sum2,
                   sum3
    FROM t1,t2,t3
    WHERE t1.mrnno = t2.mrnno
    AND       t1.mrnno = t3.mrnnoCheers
    Ben
    http://www.munkyben.wordpress.com
    Don't forget to mark replies helpful or correct ;)

  • Create opaque view in OBIEE with multiple tables

    Hi,
    I need some help with the opaque view since i have never created it in past. I want to create an opaque view which fetches data from multiple tables. Is it possible to do that ? Or is there any other alternate option available in OBIEE ? I read the following blog and other similar blogs on opaque views but could not find option to use it for query with multiple tables:
    Oracle Business Intelligence: Creating Opaque View in Physical Layer in OBIEE 10g
    Also can you please advice how to join two tables from different databases in OBIEE ?
    Kindly advice.
    Regards,
    Andy

    Hi Andy,
    As per my knowledge you can create Opaque View on one table at a time.Joining two tables from different databases yes we can create a report from multiple data sources.Check this
    Rittman Mead Consulting &amp;raquo; Blog Archive &amp;raquo; Reporting Against Multiple Datasources in OBIEE
    Mark if helps.
    Thanks,

  • BaseTableName blank when calling GetSchema on a query with multiple tables

    I am using ODP.NET 11.2.0.3.0 and when calling GetSchemaTable on a DataReader that contains a join the returned SchemaTable has the BaseTableName and BaseColumnName fields blank - this is different than what I see with the Oracle OLE DB Provider and with how SQL Server's native provider works. I can't find any discussion of this - is this on purpose or is it a bug? why does the available schema information vary so drastically between a single table query and a query with multiple tables joined?
    Thanks,
    Bryan Hinton

    Hi Bryan,
    I am also facing the same issue. Did u find any work around or any suggestions will be well appreciated.
    Thanks,
    Naresh.

  • Combining the same column from 2 tables with distinct result.

    I have 2 tables with identical name columns. One is current people and the other is historical people. I want a select that returns any name that is in either table. I want each name listed only once. I want to see 1 entry for each name if it is in the current table, the historical table, or both tables. I can easily do a select distinct on each table but how do I join the queries to get 1 result set with no duplicates? The name column is not a key field and I don't want any other columns from either table.

    Just a simple UNION:
    select name
      from current
    union
    select name
      from historical;

  • Selecting columns from two table is slow but same

    I am selecting 27 columns from two tables
    which running for more than 30 minutes. but
    if I select count(*) with the same query
    except the columns it is coming in seconds.
    Where is the error?

    If you post
    1) The table definitions for the underlying tables
    2) The indexes that are on the tables
    3) The two SQL statements you're running
    4) The explain plan for both statements
    we can probably be of some assistance.
    My guess is that the count(*) is able to return much more quickly because the optimizer is able to use a significantly faster query plan that is based on an index which the longer-running query cannot utilize. Without the information I've requested, though, it's hard to do more than speculate.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Including column from fact table reduces number of rows returned

    Hello
    I am facing this issue where in a report I select 5 columns from a fact table. Out of these five columns one of the column is "Amount" for which the aggregation rule is defined as Sum in RPD.
    When I include these five column and filter results based on some criterion , I get all the rows (three rows) that satisfy the criterion. No I add a sixth column to my report and suddenly I only see one row returned by my report. Addition of this sixth column does not affect the criterion as the criterion is not based on this column. But this sixth column is a calculated column.
    I tried different things but because the report was just getting columns from one table (fact) and suddenly inclusion of one column leads to reduction in number of rows , I was unable to find any reason why would that happen.
    So I thought that some one in community may know that in what scenario this happens.
    Thanks

    Are there any repeated values? I'm wondering if what you're seeing is actually suppression of repetition in the results. Edit the analysis, go to the criteria tab, click column properties, go to the Column Format tab, and change the setting for value suppression from 'Suppress" to "Repeat". Repeat for each of your 6 columns and check the outcome.
    Otherwise, I would try testing with other calculations and also bring in some columns from dimension tables to see how this affects the result. You should be able to come up with a case-by-case scenario to work out exactly what causes the rows to be suppressed which will get us one step to closer to working out why the rows get suppressed.
    Thanks,
    George

  • Updating a column from other table

    Hi all,
    I have a simple update query problem. I have four tables
    activist(activist_id,first_name,last_name,c_state),
    membership(activist_id,g_n_id),
    group_network(g_n_id,g_n_type_id),
    school_grop_det(g_n_id,state). For some records in activist table the c_state column is null, i want to update that column with state column of school_group_det table.
    Here is the query for the states which are null
    select distinct a.activist_id,a.first_name,a.last_name,
    a.c_state,sd.state from activist a,membership m,
    group_network g,school_group_det sd where
    a.activist_id=m.activist_id and g.g_n_id=m.g_n_id and
    g.g_n_id=sd.g_N_id and a.c_state is null and g.g_n_type_id='1001'
    order by a.activist_id
    I got the activist_id,first_name,last_name,c_state from activist and state from school_group_det. now i as i told you want to update the c_state with state column of school_group_Det table.
    Pleae any one help me
    Thanks
    Srinivas

    For ur query the reply whay u have got is correct one. For further quries similar to one u had u can download a tool named TOAD (Tools for Oracle Application Developer) from quest site (www.quest.com). Install it a proceed.
    Do let me know how and what u feek about TOAD.

  • How to delete a column from the table control in module pool?

    Hi,
      can any one please tell How to delete a column from the table control in module pool?
    thanks in advance
    warm regards
    HareeshKumar N

    hi hareesh,
    I think it is better to hide it.
    How to hide: You can check this link
    Dynamic Hide column in table control

  • How to remove a column from alv table

    Hi All
    How to remove a specific column from alv table.?
    Thanks & Regards
    SUN

    For delete u can follow the above post..
    Fo making invisible :
    data m_col type ref to cl_salv_wd_column.
    m_col = alv_mode->IF_SALV_WD_COLUMN_SETTINGS->GET_COLUMN (' col1' ).
    m_col->SET_VISIBILITY( '01'  ).

  • BDC with MM01/ MM02 from MARA table

    Can anybody suggest me for the following problem.
    I want to construct a BDC with MM01/ MM02 from MARA table.
    And I want the source file to be a notepad or Excel sheet. But i am not
    getting, that how to write the data in Notepad/Excel sheet, to feed to the
    master table according to the MM01/MM02 fields .

    This is the sample code for creation of flatfile for MM01 this will be definetly helping you to create a flatfile.
    REPORT  ZBDC_FF MESSAGE-ID BCTRAIN .
    TYPES: BEGIN OF STU,
           MATNR LIKE RMMG1-MATNR,
           MBRSH LIKE RMMG1-MBRSH,
           MTART LIKE RMMG1-MTART,
           MAKTX LIKE MAKT-MAKTX,
           MEINS LIKE MARA-MEINS,
           END OF STU.
    DATA WA_ITAB TYPE STU.
    DATA ITAB TYPE TABLE OF STU.
    WA_ITAB-MATNR = 'T1'.              "MATERIAL NUMBER"
    WA_ITAB-MBRSH = 'K'.                 "INDUSTRY SECTOR"
    WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    WA_ITAB-MEINS = 'EE'.                "BASE UNIT OF MEASURE"
    APPEND WA_ITAB TO ITAB.
    CLEAR WA_ITAB.
    *WA_ITAB-MATNR = 'TOL2'.              "MATERIAL NUMBER"
    *WA_ITAB-MBRSH = 'M'.                 "INDUSTRY SECTOR"
    *WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    *WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    *WA_ITAB-MEINS = 'EA'.                "BASE UNIT OF MEASURE"
    *APPEND WA_ITAB TO ITAB.
    *CLEAR WA_ITAB.
    *WA_ITAB-MATNR = 'TOL3'.              "MATERIAL NUMBER"
    *WA_ITAB-MBRSH = 'M'.                 "INDUSTRY SECTOR"
    *WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    *WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    *WA_ITAB-MEINS = 'EA'.                "BASE UNIT OF MEASURE"
    *APPEND WA_ITAB TO ITAB.
    *CLEAR WA_ITAB.
    *WA_ITAB-MATNR = 'TOL4'.              "MATERIAL NUMBER"
    *WA_ITAB-MBRSH = 'M'.                 "INDUSTRY SECTOR"
    *WA_ITAB-MTART = 'VKHM'.              "MATERIAL TYPE"
    *WA_ITAB-MAKTX = 'TOOLEMATERIAL'.     "MATERIAL DESCRIPTION"
    *WA_ITAB-MEINS = 'EA'.                "BASE UNIT OF MEASURE"
    *APPEND WA_ITAB TO ITAB.
    *CLEAR WA_ITAB.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
    FILENAME     = 'C:\Documents and Settings\chiranjeevi\Desktop\BDC.TXT'
      TABLES
        DATA_TAB     = ITAB
    IF SY-SUBRC <> 0.
    MESSAGE S999 WITH 'EXECUTED'.
    ENDIF.
    Cheers!!!

Maybe you are looking for