繁体   English   中英

将单独查询的结果添加到JSON编码的数组

[英]Adding the results of a separate query to a JSON encoded array

我有一个查询到我的MySQL数据库,该查询从MySQL表(信息)返回四个信息字段,然后使用PHP的json_encode()函数将其编码为JSON。 它返回的两个字段是“ 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部分以返回“ dave jones”而不是14? 由于信息未保存在MySQL的同一表中。

在数据库请求中使用LEFT JOIN之类的

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-您的表名

正如评论者所提到的,您肯定希望将firstname和lastname字段添加到SQL结果集中。 您可以通过将查询更改为JOIN到包含您的名字和姓氏数据的表中来实现。 您联接的“ ON”子句将是两个表的公共ID。 一个例子是:

SELECT * FROM yourdb.table1 T1 LEFT JOIN yourdb.table2 T2 ON T1.staffMember = T2.id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM