我有一个包含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_name1
、table_name
。CCD_ 10等,并可以使用输入值的第一个表列名上的where条件。
select * from `object`
inner join `object_meta` on `object_meta`.`object_id` = `object`.`id`