3

私はこの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テーブルの列は数値であり、IDが等しいテーブルでclient_idルックアップを行いますclientchannel_id.client_id

リストを取得するにはどうすればよいですか (テーブルの列でchannel_did)並べ替えるには?companyclient

**channel_id**
id
did
client_id

**client**
id
name
company

so client.id = channel_did.client_id
4

2 に答える 2

3

両方のテーブルでクエリをinner join作成し、最初のテーブルからフィールドを選択し、2 番目のテーブルの列を使用して行を並べ替えます。

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

もちろん、これは、各行にclient対応する行が1つしかない場合ですchannel_did

それが役に立てば幸い。

于 2013-07-25T15:42:39.173 に答える
1

このようなものを試してください..

 SELECT i.* FROM `channel_did` AS i
    JOIN `client` AS c
    ON (i.client_id = c.id)
ORDER BY c.company DESC
于 2013-07-25T15:46:56.840 に答える