Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Holen Sie sich eine bestimmte Spaltenwertanzahl in Oracle mit Inner Join

Versuchen Sie dies

SELECT T.*,S.* FROM
(
  Select TD.category_name,TD.branch_name,TM.created_date,TM.user_id,TD.order_details_id,TD.branch_id
  From tbl_orderdetails TD Inner Join tbl_ordermaster TM ON 
    TD.order_master_id = TM.ordermasterid 
  Where TM.user_id='12'
) T Left Join
(
  Select T1.branch_name,Count(T1.branch_name) As No_Of_Branch
  From tbl_orderdetails T1 Inner Join tbl_ordermaster T2 ON 
       T1.order_master_id = T2.ordermasterid 
  Where T2.user_id='12'
  Group By T1.branch_name
) S On S.branch_name = T.branch_name

Aktualisieren

Wenn Sie Max erhalten möchten von count

Versuchen Sie dies

SELECT T.*,S.* FROM
(
  Select TD.category_name,TD.branch_name,TM.created_date,TM.user_id,TD.order_details_id,TD.branch_id
  From tbl_orderdetails TD Inner Join tbl_ordermaster TM ON 
    TD.order_master_id = TM.ordermasterid 
  Where TM.user_id='12'
) T Inner Join
(
SELECT M.branch_name,Max(M.No_Of_Branch) FROM
  (
    Select T1.branch_name,Count(T1.branch_name) As No_Of_Branch
    From tbl_orderdetails T1 Inner Join tbl_ordermaster T2 ON 
         T1.order_master_id = T2.ordermasterid 
    Where T2.user_id='12'
    Group By T1.branch_name
  ) M Group By M.branch_name
) S On S.branch_name = T.branch_name