在MYSQL中将4个表连接在一起

时间:2015-11-28 22:30:14

标签: mysql mysqli

我正在尝试将主表连接到mysqli中的其他两个表,但没有得到我期望的结果。

表:

MAIN

enter image description here

USERS

enter image description here

AP_STORES

enter image description here

APPROVALS

enter image description here

以下是我正在使用的查询:

SELECT *
    FROM main
    LEFT OUTER JOIN users ON
            main.uid = users.uid
    LEFT OUTER JOIN ap_stores ON
            main.ap_id = ap_stores.ap_id"
    LEFT OUTER JOIN approvals ON
            main.job_no = approvals.job_no

输出:

Array (

[JOB_NO] => 
[UID] => 
[AP_ID] => 
[FILES] => Doc1_testy.pdf
[UPLOAD_COMMENTS] => test
[ENTRY_DATE] => 2015-11-28 14:33:18
[FIRST_NAME] => john
[LAST_NAME] => smith
[USERNAME] => jsmith
[PASSWORD] => ######
[USER_TYPE] => admin
[EMAIL] => jsmith@something,com
[APPROVER_TYPE] => slo
[NAME] => 
[BRAND_DATE] => 
[SLO_DATE] => 
[AP_DATE] => 
)
  

我想要实现的目标:

     
      
  1. 中的所有行   
  2. 用户所在的行,其中main.uid = users.uid
  3.   
  4. 在ap_stores中的行,其中main.ap_id = ap_stores.ap_id
  5.   
  6. 批准中的行,其中main.job_no = approvals.job_no
  7.   

用户表中总会有匹配的记录。

ap_stores表中总会有匹配的记录。

有时在批准表中不会匹配。

除了前3个字段外,其他所有内容似乎都返回正常,这些字段也是我用来连接表格的字段。它们不应该是空的。

0 个答案:

没有答案