我有一个包含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答案 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