呼び出されたピボットを知るようになりましたが、集約なしではsqliteの例を取得できませんでした。
スキーマ:
Readonly Table foos(_id, foo) (10 max records)
Readonly Table bars(_id, bar) (300 max records)
Readonly Table items(_id, foo_id, bar_id, item1, item2) (3000 max records)
必要な出力:
Select
foos._id,
foos.foo,
bars.bar,
items.item1(bar_id=1),
items.item1(bar_id=2),
items.item2(bar_id=1)
私は常に2つの列が必要です。
私は非常に明白な何かを逃していますか?パフォーマンスが低下しますか?私のテーブルのデザインが間違っています、私を訂正してください!
アップデート:
SELECT
foo_id,
GROUP_CONCAT(CASE bar_id WHEN 1 THEN title ELSE NULL END) AS 'Item1',
GROUP_CONCAT(CASE bar_id WHEN 2 THEN title ELSE NULL END) AS 'Item2'
FROM
items
WHERE
foo_id=2
GROUP BY
foo_id
これが最終的な結果です。