Я использую SQLite, и у меня был кто-то, кто помог мне построить этот запрос JOIN, который работает довольно хорошо, но теперь мне нужно добавить еще одно условие, но у меня возникают проблемы с его введением в запрос без его нарушения.
В обеих таблицах, используемых в JOIN, есть столбец с именем EventId, и я хочу ввести простое условие ...
WHERE EventId = 123456
Ниже вы можете увидеть рабочий пример самого запроса.наряду с двумя комментариями, где я попытался ввести новое условие и не удалось (потому что я плохо разбираюсь в SQL).
SELECT t.MicrosoftId,
SUM(CASE WHEN name = 'necktie' THEN 1 ELSE 0 END) as 'necktie',
SUM(CASE WHEN name = 'shirt' THEN 1 ELSE 0 END) as 'shirt',
SUM(CASE WHEN name = 'suit' THEN 1 ELSE 0 END) as 'suit',
SUM(CASE WHEN name = 'man' THEN 1 ELSE 0 END) as 'man',
SUM(CASE WHEN name = 'male' THEN 1 ELSE 0 END) as 'male'
FROM TagsMSCV t
/* <---- WHERE t.EventId = 123456 (fails here...) */
LEFT JOIN
(SELECT i.MicrosoftId
FROM Images i
GROUP BY i.MicrosoftId) i
ON i.MicrosoftId = t.MicrosoftId
WHERE t.name IN ('necktie','shirt','suit','man','male')
/* <---- AND WHERE t.EventId = 123456 (fails here too...) */
GROUP BY t.MicrosoftId