如何在mysql中连接4个表以在同一个html表上获取不同的colums数据?

时间:2017-01-19 20:40:16

标签: php mysql join

我希望从4个表中得到的图像:

Image of what I want from 4 tables

正如您所看到的那样

  • 1.com_name
  • 2.emp_type_name
  • 3.loc_name

3个不同的表及其主键:com_idemp_type_idloc_id

现在,有一个名为organization_tbl的主表,它有org_id。所有表格中org_id都是FK。

我想要com_name company_tbl org_id=1 emp_type_name emp_type org_id=1来自loc_namelocation_tbl org_id=1 {1}}其中organization_tbl.org_id=1在where子句中如果我放SELECT emp_type.emp_type_name,location_tbl.loc_name,company_tbl.com_name from organization_tbl left outer join company_tbl on company_tbl.org_id=organization_tbl.org_id left outer join location_tbl on location_tbl.org_id=organization_tbl.org_id left outer join emp_type on emp_type.org_id=organization_tbl.org_id GROUP BY emp_type.emp_type_name,location_tbl.loc_name,company_tbl.com_name, where organization_tbl.org_id=1 那么这应该是输出必须来但我得到低于输出重复值。

duplicate values

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int main()
{
int z1,z_eingabe;
bool b1=true;

while(1){


printf("Zahl : ");
scanf("%d",&z_eingabe);

for(z1=2;z1<z_eingabe;z1++){
    if(z_eingabe%z1==0){
        printf("False %d\n",z1);
        b1=false;
        break;
    }
    if(b1==true){
        if(z_eingabe%z1!=0){
            printf("True\n");
            break;
        }
    }
}

}

    return 0;
}

这是我的查询无法正常工作。

1 个答案:

答案 0 :(得分:0)

看起来你的WHERE对我来说是错误的地方:

SELECT 
    employer.emp_type_name,
    location.loc_name,
    company.com_name

FROM organization_tbl organization

LEFT JOIN company_tbl company
  on company.org_id=organization.org_id 

LEFT JOIN location_tbl location
  on  location.org_id=organization.org_id

LEFT JOIN emp_type employer
  on employer.org_id=organization.org_id

WHERE organization.org_id = 1

GROUP BY   
    employer.emp_type_name,
    location.loc_name,
    company.com_name