PHP-将2个查询组合为1个结果输出


PHP - Combining 2 Queries to 1 Result Output

我有一个包含2个表的数据库。一个称为"object",另一个则称为"objectmeta"。

现在,我想根据"objectmeta"表中"object"表中的一个条目来保存其他字段。到目前为止,我有两个查询。

第一个查询:

SELECT * FROM object WHERE id=$id

第二个查询:

SELECT * FROM object_meta WHERE object_id=$id

然后我把第二个查询放在第一个数组的一个名为ex:meta_fields的新字段中包括查询到"object_meta"的数组

$array[$id]['additional_fields'][$add_field[key]] = $add_field[value];

请有人教我如何加入?

thx很多:D

SELECT     object.*, object_meta.*
FROM       object
INNER JOIN object_meta
ON         object.id = object_meta.object_id
WHERE      object.id = ?

如果object_meta没有携带每个对象的信息,则将INNER JOIN调整为LEFT JOIN。如果没有匹配行,则object_meta的字段将是NULL

请注意,这不会将这些值放入addtional_fields中,而是与所有其他值处于同一级别。

这就是你可以做到的,但我建议你只从两个表中选择你想要显示的必填字段,你可以作为table_name来做。col_name1table_name。CCD_ 10等,并可以使用输入值的第一个表列名上的where条件。

select * from `object`
inner join `object_meta` on `object_meta`.`object_id` = `object`.`id`