Php 具有多个条件的多个表

Php 具有多个条件的多个表,php,mysql,Php,Mysql,已更新 我在MySql中有3个表(多个表) 我需要获得每个表中具有特定“idObject”的行的所有这3个参数,每个行的“not need Id”和输出中具有特定“idObject”且不重复寄存器的特定行。这是因为在代码中,稍后我必须交付一个由3个表的响应形成的unqique JSon文件。 目前,我得到了三个不同的独立回复,因为我对三个不同的php文件使用了3个URI,一个用于温度,一个用于压力,另一个用于高度,但从Andorid中的loopj ansytask Api,我只能对每个请求执行一

已更新 我在MySql中有3个表(多个表)

我需要获得每个表中具有特定“idObject”的行的所有这3个参数,每个行的“not need Id”和输出中具有特定“idObject”且不重复寄存器的特定行。这是因为在代码中,稍后我必须交付一个由3个表的响应形成的unqique JSon文件。 目前,我得到了三个不同的独立回复,因为我对三个不同的php文件使用了3个URI,一个用于温度,一个用于压力,另一个用于高度,但从Andorid中的loopj ansytask Api,我只能对每个请求执行一个,所以我需要在一个Json中加入三个表的响应,因此,我创建了一个独特的PHP文件,以在一个响应中获取三个表中的所有数据,然后只使用一个URI来寻址一个PHP文件

1) 表temperatura中的Json:

{"result_temperatura":{"temperature":{"min":[{"Id":"3","temperatura":"0","Insertado":"2016-08-16 18:13:55"}],"max":[{"Id":"4","temperatura":"50","Insertado":"2016-08-16 18:17:33"}],"avg":[{"tempmedia":23}]},"last_entry":{"Id":"4","temperatura":"50","Insertado":"2016-08-16 18:17:33"}}}
2) 来自表压力的Json

{"result_altitud":{"altitude":{"min":[{"Id":"2","altitud":"10","Insertado":"2016-08-16 18:40:59"}],"max":[{"Id":"4","altitud":"51","Insertado":"2016-08-16 19:12:15"}],"avg":[{"altmedia":20}]},"last_entry":{"Id":"4","altitud":"51","Insertado":"2016-08-16 19:12:15"}}
(三)

我的php中的第一步是对表进行查询:

在我的php中,我这样做是为了从Android应用程序中获取IdObject:

if(isset($_POST['idObjeto']) && !empty($_POST['idObjeto'])){
$idObjeto = $_POST['idObjeto'];
然后我这样做是为了构建查询“sql”,但它不起作用。它返回重复参数,如我在JPG附件(mixedtable)中所示。如果我接受这个回复并使用它,我将得到不可用的数据,因为有了这个回复,我必须计算每个参数的平均值、最后的条目、最大值和最小值,“温度、压力和高度”

:

单独的表格照片供参考

根据您更新的问题,仔细查看您选择的字段,这可能会解释图片中的重复:

SELECT wp_temperatura.temperatura, wp_temperatura.Insertado, wp_pressure.presion,
wp_压力。插入度,wp_高度。高度,wp_高度。插入度

请注意各个表的Insertado字段的重复。如果您确实希望在响应中包含所有这些时间戳,可以重命名这些字段,以便PHP在获取结果时不会折叠重复项:

SELECT wp_temperatura.temperatura,
    wp_temperatura.Insertado AS temperatura_insertado,
    wp_pressure.presion,
    wp_pressure.Insertado AS pressure_insertado,
    wp_altitude.altitud,
    wp_altitude.Insertado AS altitude_insertado

问题还不清楚。
在这里不起作用
意味着什么?不运行?(尝试将
更改为
)没有返回您期望的内容?请解释。当我在将其修复到PHP之前在SQL控制台中运行时,返回错误:#1052-where子句中的“idObjeto”列不明确,您必须将
tablename.
放在它前面,因为您在多个表中有相同的名称,并且它需要知道要查看哪个表,“wp_温度。idObjeto='C-136a660f-5af4-4d4d-820e-67af81c912ff';,但它会返回“空列”。但在所有表中,都有IdObject=C-136a660f-5af4的参数…“实际上,
&
应该是
=
,不是吗?我需要使用相同的词,因为我必须合并大约50个传感器,每个传感器发送参数,即CO2、NH、H2O、臭氧。。。。。如果我为每一个单词使用不同的单词,那么它将被用于许多不同的名称,因此为了标准化,我使用了与“输入日期”相同的“Insertado”,等等。使用不同的名称会使代码复杂化很多。
$sql = SELECT wp_temperatura.temperatura, wp_temperatura.Insertado, wp_pressure.presion,
wp_pressure.Insertado, wp_altitude.altitud, wp_altitude.Insertado  FROM 
wp_temperatura, wp_pressure, wp_altitude WHERE wp_temperatura.idObjeto =
wp_pressure.idObjeto & wp_temperatura.idObjeto = wp_altitude.idObjeto &
wp_temperatura.idObjeto='$idObjeto';
SELECT wp_temperatura.temperatura, wp_temperatura.Insertado, wp_pressure.presion,
SELECT wp_temperatura.temperatura,
    wp_temperatura.Insertado AS temperatura_insertado,
    wp_pressure.presion,
    wp_pressure.Insertado AS pressure_insertado,
    wp_altitude.altitud,
    wp_altitude.Insertado AS altitude_insertado