简体   繁体   English

mysql中的左连接和where子句

[英]Left join and where clause in mysql

Here i come with the problem to join the table so i tried with the left join and where condition but am not getting a excepted result.i am newbie to mysql so could some one help on this 在这里我遇到了连接表的问题,所以我尝试了左连接和条件,但没有得到例外的结果。我是mysql的新手,因此可以在此上提供一些帮助

query: 查询:

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

Excepted Result to be like this: 例外结果是这样的:

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

I am not sure about your table structure or your requirements . 我不确定您的表结构或要求。 I have shown you the syntax if that is what you are looking for. 如果您正在寻找语法,我已向您显示了语法。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM