2

MySQLテーブルから4つの情報フィールド(情報)を返すMySQLデータベースへのクエリがあり、PHPのjson_encode()関数を使用してJSON用にエンコードします。返されるフィールドの2つは、「staffMember」と「lineManager」です。これらは、(個別の)ユーザーテーブル内のその人のIDに関連する整数を返します。

私のクエリは次を返します(テーブル形式で):

id is 1
staffMember is 14
lineManager is 12
description is this is a description

など。すべての行に対して。

14(たとえば、上記の場合)は、usersテーブルの次のような行を参照します。

id is 14
firstname is dave
secondname is jones

したがって、私の質問は、クエリのJSON部分で14ではなく「davejones」を返すようにするにはどうすればよいですか?情報はMySQLの同じテーブルに保持されていないため。

4

2 に答える 2

0

次のようなデータベースリクエストでLEFTJOINを使用します

SELECT a.id, CONCAT(b.firstname, ' ', b.secondname) AS staffMember, a.lineManager, a.description 
  FROM a 
  LEFT JOIN b ON (a.staffMember = b.id)

ここで、aとb-テーブル名

于 2012-11-12T15:45:55.217 に答える
0

コメント提供者が述べたように、SQL結果セットにfirstnameフィールドとlastnameフィールドを追加することをお勧めします。これを行うには、JOINのクエリを、名と姓のデータを格納するテーブルに変更します。結合の「ON」句は、両方のテーブルに共通のIDになります。例は次のとおりです。

SELECT * FROM yourdb.table1 T1 LEFT JOIN yourdb.table2 T2 ON T1.staffMember = T2.id;
于 2012-11-12T15:47:58.940 に答える