mySQL:子查询到数组?

Ind*_*ial 3 mysql subquery

我正在研究一个包含子查询的mySQL查询的轻微复杂(至少对我而言)并不诚实.

SELECT `products`.`id`, `product`.`price`, 
  ( SELECT `value` FROM (`productValues`) 
    WHERE `productValues`.`product` = 'product.id'
  ) as values 
FROM (`products`) WHERE`product`.`active` = 1
Run Code Online (Sandbox Code Playgroud)

目前的结果如下:

Array
(
    [0] => Array
        (
            [id] => 1
            [active] => 1
            [price] => 1000
            [values] => 
        )
)
Run Code Online (Sandbox Code Playgroud)

我想要的是values元素也成为一个数组,其中Values表中的所有元素都匹配(WHERE productValues.product = product.id).

我究竟做错了什么?

Gol*_*rol 8

我不确定你是否可以像这样返回子查询.解决方案是在子查询中使用GROUP_CONCAT将所有值连接到字符串.然后,在结果中,您可以使用将此字符串拆分为数组explode.

更新:子查询只能匹配1行
源:http://dev.mysql.com/doc/refman/5.0/en/subquery-errors.html