Php MYSQL:查询两个表并将结果从第二个表连接到一个数组
我正试图找出如何查询我的MYSQL数据库-不幸的是,我根本不擅长MYSQL 我有两张桌子: 职位:Php MYSQL:查询两个表并将结果从第二个表连接到一个数组,php,mysql,Php,Mysql,我正试图找出如何查询我的MYSQL数据库-不幸的是,我根本不擅长MYSQL 我有两张桌子: 职位: --------------------- | id | name | type | --------------------- | 1 | mike | type1 | | 2 | john | type2 | | 3 | bill | type1 | --------------------- 预计到达时间: ------------------------------- | id
---------------------
| id | name | type |
---------------------
| 1 | mike | type1 |
| 2 | john | type2 |
| 3 | bill | type1 |
---------------------
预计到达时间:
-------------------------------
| id | post_id | key | value |
-------------------------------
| 1 | 1 | key1 | val1 |
| 2 | 1 | key2 | val2 |
| 3 | 3 | key3 | val3 |
-------------------------------
我想要的是一些逻辑,比如:
When posts.type == type 1
select m.id, m.key, m.value from postmeta m
where post_id === posts.id
最好是,如果我有这样一个$result=>$行:
array (
id => post.id,
name => post.name,
options => array (
key => value
...
)
)
这是我现在的问题。它离我们很近,但还没有达到目的:
$sql = "SELECT p.id, p.post_title, p.post_content, p.post_type, m.meta_key, m.post_id, m.meta_id, m.meta_value
FROM posts p
JOIN postmeta m ON m.post_id = p.id
WHERE type='type1'
GROUP BY p.id";
我错过了什么
谢谢你的帮助
Seb您可以使用内部联接和条件进行选择
select m.id, m.key, m.value
from postmeta m
inner join posts as p on( p.id = m.id and p.type = 1)
您可以在SELECT查询中使用
GROUP\u CONTACT()
函数,但要小心,因为它有长度限制,并且会截断超过此限制的任何内容。您不会直接从“平面”获取嵌套数组查询-但是您可以很容易地进行转换。您当前如何从SQL查询中获取结果?不是100%我想要的结果-而是98%左右,其余的我自己都知道了。;-)谢谢!