私はActor、Picture、Scene、およびTagのテーブルを持っています。 アクター、ピクチャ、シーンに複数のタグを付けることができます。したがって、各ペア間の関係は次のようになり、テーブルを介して表現されます。Sqlite: 'スルー'テーブルで行が参照された回数をカウントするクエリ
TABLE Scene_tag:
Scene_id: int
Tag_id: int
TABLE Picture_tag:
Picture_id: int
Tag_id: int
TABLE Actor_tag:
Actor_id: int
Tag_id: int
(これは単なる擬似コードではなく、実際のテーブル定義である)
私はSQLiteのクエリを作成しようとしていますすべてのタグと、各スルーテーブルで参照されている回数をリストします。例えば、タグ「海」が3枚と1つのシーンで使用されている場合は所望の出力は次のようになります。
name NumberOfScenes NumberOfPictures NumberOfActors
sea 1 3 0
私がこれまでに得たことは次のとおりです。
select T.name, NumberOfScenes, NumberOfPicture, NumberOfActors from Tags as T
join(
select * from (
select count(*) AS NumberOfScenes from Scene_tag where Tag_id = 73)
join (select count(*) AS NumberOfPicture from Picture_tag where Tag_id = 73)
join (select count(*) AS NumberOfActors from Actor_tag where Tag_id = 73))
私がいる問題です私はどのように固定セクションの代わりに
のようなものになるのではなく、結合セクションの最初の選択からIDを参照する方法を把握することはできませんか?代替アプローチを提案していますか?
タグテーブルのスキーマも追加してください。 – scaisEdge
@scaisEdge 'テーブルタグ:id:int、name:string' – Curtwagner1984
他の人が必要な場合は、すでに回答があります。 – scaisEdge