PHP - 将2个查询与1个结果输出相结合

时间:2014-03-16 00:30:00

标签: php sql arrays join

我有一个包含2个表的数据库。一个叫做“对象”,另一个叫做“object_meta”。

现在我想根据“object_meta”表中“object”表中的条目保存其他字段。直到现在我这样做了2次查询。

第一次查询:

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];

请有人通过加入向我展示如何做到这一点吗?

很多:D

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

这就是你可以这样做的方法,但是我建议你只选择要显示的两个表中的必填字段,你可以table_name进行。col_name1,{{1} }。table_name等,可以使用输入值的第一个表格名称的where条件。

col_name2