我有Actor,Picture,Scene和Tag的表。 參與者,圖片和場景可以有多個標籤,反之亦然。因此,每一對之間的關系是在通過表來表示,看起來像這樣:Sqlite:查詢以統計在'through'表中引用行的次數
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))
我遇到的問題是我無法弄清楚如何引用一個身份證從第一選擇在連接部分,所以而不是固定的73
它會像from Scene_tag where Tag_id = T.id
有人可以幫助我實現這一目標嗎?或者提供一種替代方法?
請同時添加標籤表格模式 – scaisEdge
@scaisEdge TABLE表格標籤:id:int,name:string' – Curtwagner1984
似乎你已經有了一個答案..如果你需要別人的評論 – scaisEdge