2014-04-19 4 views
0

여기 테이블에 가입하는 데 문제가 생깁니다. 따라서 테이블 a.KOT_Items에서 월, 월요일과 같은 두 개의 컬럼이 생성되었으므로 이제 테이블에서 coulmn을 더 결합해야합니다. 그러나 아무런 결과도 얻지 못했습니다. mysql은 이것에 대해 도움을 줄 수있다.MySQL에서 테이블 결합

쿼리 ::

SELECT a.mon, 
      a.monthnames, 
      d.Outlet_Name, 
      e.category_Name, 
      f.Department_Name, 
      b.Item_Name, 
      a.Item_Qty, 
      a.Net_amount+a.Item_tax1 AS NetAmount, 
      a.Tran_Date 
    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 months 
    LEFT JOIN a.KOT_Items AS i ON months.mon = MONTH(i.tran_date), 
               Item_Master b, 
               KOT_Main c, 
               Outlet d, 
               Category_Master e, 
               Department_Master f 

    WHERE 
    AND 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 a.Bill_No 

예외 처리 결과는

mon ||monthname || outlet_name || category_Name || Department_Name || 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 

답변

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 KOT_Items a, 
     (SELECT 1 AS Mon, 'Jan' AS monthnames 
     UNION 
     SELECT 2 AS Mon, 'Feb' AS monthnames 
     UNION 
     SELECT 3 AS Mon, 'Mar' AS monthnames 
     UNION 
     SELECT 4 AS Mon, 'Apr' AS monthnames -- Complete Rest 
     ) AS m, 
     Item_Master b, 
     KOT_Main c, 
     Outlet d, 
     Category_Master e, 
     Department_Master f 
    WHERE MONTH(a.tran_date) = m.Mon 
    AND 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 
+0

감사하지만 그것이 작동하지만 내 데이터베이스에서 나는 4 월 데이터를 보여 주었다 그래서 나는 모든 달에 대한 결과를 표시하기를 원했고 심지어 테이블에 거래가없는 달도 – user3331535

+0

개월을 시작점으로 사용하고 "LEFT OUTER JOINS "다른 모든 테이블의 경우. 예 : SELECT .... FROM (SELECT ....) AS LEFT JOIN KOT_ 항목을 a MONTH (a.tran_date) = m.Mon .. 등등. – unniks

+0

내가 u에서 배울 수있는 도움이 내 쿼리를 업데이트 할 수 있으면 저에게 실수? – user3331535