开始知道它称为枢轴,但无法在没有聚合的情况下获得 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)
我总是需要两列。
我是否遗漏了一些非常明显的东西。我会受到性能影响吗?是我的桌子设计错了吗,纠正我!
更新:
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
这就是最终的结果。