Узнал, что это называется pivots, но не смог получить примеры для 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)
мне всегда нужны два столбца.
Мне не хватает чего-то очень очевидного.
я получу удар производительности.
мой дизайн стола неправильный, поправьте меня!
UPDATE:
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
это то, чем закончилось.