同じ名前の列を共有して出力する方法を熟考した後、それらを検索とページングが可能な形式で実装しました。このソリューションでは、stock_levels
などのセット名を持つ「列」を作成し、その値をJSONとして入力して後で解析することができます。1対1の関係を1対多の関係で返す方法
これは意図したとおりに動作するが、しかし、私はaccrossに来た問題は、「場所」セクションで(product
= quantity
id
。product_id
)がARNTただし場合、製品のIDたquantity
内のすべての要素を返します製品IDがquantity
のすべての要素は、システムに入力された新製品に在庫や画像がないため、製品自体は返されません。システムによって返されることはありません。
私の質問は
WHERE (`product`.`id` = `quantity`.`product_id` OR COUNT(`product`.`id` = `quantity`.`product_id`) = 0)
(すなわち、それは量のエントリがない場合は、製品を返す)
そして(OFC動作するコードではなく)は、基本的にこれを行う方法がある、ことですここで使用したクエリのコードは次のとおりです。
SELECT DISTINCT `product`.*,
CONCAT('[', GROUP_CONCAT('{', '"id":"', `quantity`.`id`, '"', ',', '"sku":"', `quantity`.`sku`, '"', ',', '"product_id":"', `quantity`.`product_id`, '"', ',', '"criteria":"', `quantity`.`criteria`, '"', ',', '"quantity":"', `quantity`.`quantity`, '"', ',', '"price":"', `quantity`.`price`, '"', '}' SEPARATOR ','), ']') as `stock_levels`,
CONCAT('[', GROUP_CONCAT('{', '"id":"', `product_image`.`id`, '"', ',', '"product_id":"', `product_image`.`product_id`, '"', ',', '"location":"', `product_image`.`location`, '"', ',', '"type":"', `product_image`.`type`, '"', ',', '"order":"', `product_image`.`order`, '"', '}' SEPARATOR ','), ']') as `images`
FROM (`product`, `quantity`, `product_image`)
WHERE (`product`.`id` = `quantity`.`product_id`)
AND (`product`.`id` = `product_image`.`product_id`)
AND `online` = 1
GROUP BY `product`.`id`
ORDER BY date_added desc
とにかく参加し、ANSI 92に精通していないイムは、JOINS参加したり、彼らはそれらの具体的な変動している私が使用しなければならないということです。 –