У меня есть таблицы для актеров, изображений, сцен и тегов. Актеры, Картинки и Сцены могут иметь несколько тегов и наоборот. Таким образом, отношения между каждой парой представлены в таблицах через который выглядит следующим образом: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))
Проблема у меня есть Я не могу понять, как ссылаться на Id из первого выбора в секции соединения, поэтому вместо фиксированного 73
это будет что-то вроде from Scene_tag where Tag_id = T.id
Может ли кто-нибудь помочь мне в достижении этого? Или предложить альтернативный подход?
0: – scaisEdge
@scaisEdge 'TABLE Tag: id: int, name: string' – Curtwagner1984
У вас уже есть ответ .. комментарий, если вам нужны другие – scaisEdge