質問

その呼ばれるピボットを知るようになりましたが、集約なしでは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

これが終わったものです。

役に立ちましたか?

解決

チェックアウトする必要があります 一般的なmysqlクエリ, 、ピボットを含む多くのサンプルがあり、それがあなたに役立つかもしれません。

あなたが探しているものを見つけることができます このセクション.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top