doutuzhuohao6449 2018-02-15 16:59
浏览 196
已采纳

MYSQL LEFT JOIN 3表(第一个表返回空值)

I can't figure out why Table A is returning null value after I left join with Table B. It should be 3 tables but for now, i'm just getting the two tables to work.

Table A
IUEID  DATE  MONTH  DATAA
4444   01    JAN    150
4444   02    JAN    98
4444   03    JAN    78
4444   04    JAN    55 

TABLE B
IUEID  DATE   MONTH  DATAB
4444   02     JAN    CORN
4444   03     JAN    GRAPES

SELECT *, TABLEB.DATAB
FROM TABLEA
LEFT JOIN TABLEB
ON TABLEB.IUEID = TABLEA.IUEID
AND TABLEB.DATE = TABLEA.DATE
GROUP BY TABLEA.DATE

OUTPUT:
IUEUD     DATE     DATAA      DATAB
(empty)  (empty)   150       (emtpy)
4444     02        98        CORN
4444     03        78        GRAPES
(empty)  (empty)   55        (empty)

</div>
  • 写回答

4条回答 默认 最新

  • dongshanyan0322 2018-02-15 17:24
    关注

    If you specify in your select from which table the query should pull from then is should work as expected.

    SELECT DISTINCT A.IUEUD, A.DATE, A.DATAA, B.DATAB
    FROM TABLEA A
    LEFT JOIN TABLEB B
       ON TABLEB.IUEID = TABLEA.IUEID
       AND TABLEB.DATE = TABLEA.DATE
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?