簡體   English   中英

mysql中的左連接和where子句

[英]Left join and where clause in mysql

在這里我遇到了連接表的問題,所以我嘗試了左連接和條件,但沒有得到例外的結果。我是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

我不確定您的表結構或要求。 如果您正在尋找語法,我已向您顯示了語法。

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