PHP / MySQL在不同的表中按列排序

时间:2013-07-25 15:41:16

标签: php mysql

我正在运行此SQL代码:

sql=" SELECT * FROM channel_did ";
        $rs=mysql_query($sql,$pbx01_conn) or die(mysql_error());
        $counter=0;
        $display='';
        while($result=mysql_fetch_array($rs))
        {
            $sql2="SELECT * from client where id = '".$result["client_id"]."' ";
            $rs2=mysql_query($sql2,$pbx01_conn) or die(mysql_error());
            $result2=mysql_fetch_array($rs2);
}

所以在channel_did表格中,client_id列是一个数字,然后我在client表格中查找,其中id等于channel_id.client_id

如何获取列表(从channel_did)company表格中client列的订单?

**channel_id**
id
did
client_id

**client**
id
name
company

so client.id = channel_did.client_id

2 个答案:

答案 0 :(得分:3)

使用inner join和两个表编写查询,从第一个表中选择字段,然后使用第二个表的列对行进行排序

SELECT a.* FROM channel_did a
INNER JOIN client b on a.client_id = b.id
ORDER BY b.company 

当然,如果client中每行channel_did对应一行且只有一行{{1}}

希望它有所帮助。

答案 1 :(得分:1)

尝试这样的事情..

 SELECT i.* FROM `channel_did` AS i
    JOIN `client` AS c
    ON (i.client_id = c.id)
ORDER BY c.company DESC