在这里我遇到了连接表的问题,所以我尝试了左连接和条件,但没有得到例外的结果。我是mysql的新手,因此可以在此上提供一些帮助

查询:

SELECT 
m.mon, 
m.monthnames,
d.Outlet_Name, 
e.category_Name, 
f.Department_Name,
b.Item_Name, 
SUM(a.Item_Qty) AS Qty, 
SUM(a.Net_amount+a.Item_tax1) AS NetAmount 
 FROM (
    SELECT 1 AS mon, 'Jan' AS monthnames
    UNION
    SELECT 2, 'Feb'
    UNION
    SELECT 3, 'Mar'
    UNION   
    SELECT 4, 'Apr'
    UNION
    SELECT 5, 'May'
    UNION
    SELECT 6, 'jun'
    UNION
    SELECT 7, 'july'
    UNION
    SELECT 8, 'Aug'
    UNION
    SELECT 9, 'Sep'
    UNION
    SELECT 10, 'Oct'
    UNION
    SELECT 11, 'NoV'
    UNION
    SELECT 12, 'Dec'
       ) AS monthno
  LEFT JOIN KOT_Items a 
  ON MONTH(a.tran_date) = m.mon
   Item_Master b,
        KOT_Main c,
        Outlet d,
        Category_Master e,
        Department_Master f,
  WHERE a.Main_Item_Code=b.Item_Code
  AND e.Category_Code=b.Category_Code
  AND e.Category_Code =f.Category_Code
  AND d.Outlet_id = c.outlet_id
  AND a.ref_no=c.ref_no
  GROUP BY 
   m.mon, 
   m.monthnames, 
   d.Outlet_Name,
   e.category_Name, 
   f.Department_Name, 
   b.Item_Name

例外结果是这样的:

mon monthnames Outlet_Name      netamount

4   Apr MEXICAN AMIGOS           1
4   Apr MEXICAN AMIGOS           100
4   Apr MEXICAN AMIGOS           150
4   Apr MEXICAN AMIGOS           1500
4   Apr MEXICAN AMIGOS  
4   Apr MEXICAN AMIGOS  
4   Apr MEXICAN AMIGOS      
4   Apr MEXICAN AMIGOS  
4   Apr MEXICAN AMIGOS  
1   jan
2   feb
3   mar
5   may
6   june
7   july
8   Aug
9   Sep
10  Oct
11  nov
12  Dec

===============>>#1 票数:0 已采纳

我不确定您的表结构或要求。 如果您正在寻找语法,我已向您显示了语法。

SELECT
m.mon,
m.monthnames,
d.Outlet_Name, 
e.category_Name, 
f.Department_Name,
b.Item_Name, 
SUM(a.Item_Qty) AS Qty, 
SUM(a.Net_amount+a.Item_tax1) AS NetAmount 
FROM (
    SELECT 1 AS mon, 'Jan' AS monthnames
    UNION
    SELECT 2, 'Feb'
    UNION
    SELECT 3, 'Mar'
    UNION
    SELECT 4, 'Apr'
    UNION
    SELECT 5, 'May'
    UNION
    SELECT 6, 'jun'
    UNION
    SELECT 7, 'july'
    UNION
    SELECT 8, 'Aug'
    UNION
    SELECT 9, 'Sep'
    UNION
    SELECT 10, 'Oct'
    UNION
    SELECT 11, 'NoV'
    UNION
    SELECT 12, 'Dec'
       ) AS m
  LEFT JOIN KOT_Items a
  ON MONTH(a.tran_date) = m.mon
  LEFT JOIN  Item_Master b
  ON a.Main_Item_Code=b.Item_Code
  LEFT JOIN KOT_Main c
  ON a.ref_no=c.ref_no
  LEFT JOIN   Outlet d
  ON d.Outlet_id = c.outlet_id
  LEFT JOIN  Category_Master e
  ON e.Category_Code=b.Category_Code
  LEFT JOIN  Department_Master f
  ON e.Category_Code =f.Category_Code
  GROUP BY
   m.mon,
   m.monthnames,
   d.Outlet_Name,
   e.category_Name,
   f.Department_Name,
   b.Item_Name

  ask by user3331535 translate from so

未解决问题?本站智能推荐: