好吗最好的办法是提供一个示例试图组了一个SQL多表查询的结果
Table 1
ID | name | class
-------------------------
1 | first name | a
2 | second name | b
Table 2
ID | name_id | meta_key | meta_value |
-------------------------------------------------------
1 | 1 | image | someImage.jpg |
2 | 1 | description | very long description |
3 | 2 | image | someImage_2.jpg |
4 | 2 | description | very long description 2 |
我试图从表1中选择名称和类,以及所有记录从表2可以看出与ID(表1)相同的name_id
。
下面是该查询我现在有:
SELECT
table1.name,
table1.class,
table2.name_id,
table2.meta_key,
table2.meta_value
FROM
table1
LEFT JOIN
table2 ON (table1.ID = table2.name_id)
WHERE
table1.ID = '2'
这工作,并返回与尽可能多元素的数组的表已经名_ID = 2
2项有没有办法返回一个数组1中第一个表的结果,另一个数组中第二个表的结果?
更新: 理想的结果将是: $导致[ '表1'] [0] =阵列( '姓名'=> '第二名', '类'=> 'B')
$result['table2'][0] = array('name_id' => 2,
'meta_key' => 'image',
'meta_value' => 'someImage_2.jpg')
$result['table2'][1] = array('name_id' => 2,
'meta_key' => 'description',
'meta_value' => 'very long description 2')
希望是有道理的。
那么,这只是一个SQL语句。如果你想'数组',那么你正在寻找PHP代码。我敢打赌,这将是更好的拆分数组,而不是创建2个单独的查询 –
我问的是如果有一种SQL方式或将返回一个数组,具有我所需要的查询。我知道我可以把目前的结果,并作出一个新的阵列,将符合我在找什么。 –
你试图得到什么输出?你可以制作一个模型吗? – Mazzy