サブクエリを含んだ(少なくとも私のための)わずかな複雑さのmySQLクエリに取り組んでいます。正直ではありません。mySQL:サブクエリから配列へ?
SELECT `products`.`id`, `product`.`price`,
(SELECT `value` FROM (`productValues`)
WHERE `productValues`.`product` = 'product.id'
) as values
FROM (`products`) WHERE`product`.`active` = 1
現在の結果は以下のようになります。
Array
(
[0] => Array
(
[id] => 1
[active] => 1
[price] => 1000
[values] =>
)
)
私が欲しいものも(WHERE productValues.product = product.id
)に一致する値テーブル内のすべての要素を持つ配列になるための値要素です。
私は間違っていますか?
これは、 'GROUP_CONCAT'が文字列<= 255文字を生成することが保証されている場合にのみ妥当な解決策です。それ以外の場合、値は切り捨てられます。 – dnagirl
@dnagirl - 'group_concat_max_len'のサイズをいつでも増やすことができます。' group_concat'は便利です。結果を反復するコードを書く必要がないので、できるだけ早くmysqlの結果を解放することができます。 – ajreal
@ajreal: 'GROUP_CONCAT'は便利です。しかし、 'group_concat_max_length'を変更しても、制限はまだ存在し、その制限はあなたに噛み付く可能性があります。私はそれを証明するTシャツを持っています。 ;) – dnagirl