1

开始知道它称为枢轴,但无法在没有聚合的情况下获得 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

这就是最终的结果。

4

1 回答 1

1

您应该查看Common MySql Queries,有很多示例,包括枢轴,这可能会对您有所帮助。

您可以在本节中找到您要查找的内容。

于 2011-04-29T12:33:59.763 回答