Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用多个查询连接mysql_Php_Mysql_Sql_Join - Fatal编程技术网

Php 使用多个查询连接mysql

Php 使用多个查询连接mysql,php,mysql,sql,join,Php,Mysql,Sql,Join,我需要加入三个不同的SQL表: 带有列id | type | status的表“internet” 带有列id | type\u name 带有列id | status\u name 我想从另外两个表(type_list,status_list)中输出文本,但不想输出当前在表“internet”中作为数字的值 我也不想让lazy programming-PHP数组使ID等于 $type_list = array("1"=>"VDSL2","2"=>"ADSL"); $status_

我需要加入三个不同的SQL表:

  • 带有列
    id | type | status的表“internet”
  • 带有列
    id | type\u name
  • 带有列
    id | status\u name
  • 我想从另外两个表(type_list,status_list)中输出文本,但不想输出当前在表“internet”中作为数字的值

    我也不想让lazy programming-PHP数组使ID等于

    $type_list = array("1"=>"VDSL2","2"=>"ADSL"); 
    $status_list = array("1"=>"Pending","2"=>"Active");
    
    因为文本已经在表中,我只是不知道如何将它们连接起来,并将文本作为查询输出,在一个查询中组合在一起。

    使用
    join

    SELECT i.id,  type_name, status_name
    FROM internet i
    LEFT OUTER JOIN type_list t ON t.id = i.type
    LEFT OUTER JOIN status_list s ON s.id= i.status
    

    有关更多信息,请阅读。

    只需将所需字段写入select

    select internet.id,type_name,status_name from internet 
    inner join type_list
    on type_list.id=internet.id
    inner join status_list
    on status_list.id=internet.id
    

    为此,您需要一个
    左连接
    ,如下所示:

    SELECT i.id, t.type_name, s.status_name
    FROM internet AS i
    LEFT JOIN type_list AS t ON t.id = i.id
    LEFT JOIN status_list AS s ON s.id= i.id
    
    从您的问题来看,不清楚您希望加入哪个领域的查询。在上面的示例中,查询在
    id
    字段上联接

    还请注意,
    AS
    实际上并不是必需的,我只是把它放在那里,以明确发生了什么