Как вернуть количество строк в подзапросе mysql
У меня есть следующий запрос SQL:
SELECT games.id, games.GameTitle FROM games
WHERE EXISTS (
SELECT filename FROM banners
WHERE banners.keyvalue = games.id
AND banners.filename LIKE '%front%'
)
что не совсем правильно для моего использования
что я хотел бы что-то вроде:
SELECT games.id, games.GameTitle
FROM games WHERE EXISTS (
COUNT(SELECT filename FROM banners
WHERE banners.keyvalue = games.id AND banners.filename LIKE '%front%') > 1
)
т.е. выбирается только когда подзапрос извлекает более 1 строки.
2 ответа
Решение
Просто так:
SELECT games.id, games.GameTitle
FROM games
WHERE (
SELECT COUNT(filename)
FROM banners
WHERE banners.keyvalue = games.id AND banners.filename LIKE '%front%'
) > 1
SELECT games.id, games.GameTitle
FROM games
WHERE EXISTS (SELECT COUNT(filename)
FROM banners
WHERE banners.keyvalue = games.id
AND banners.filename LIKE '%front%'
HAVING COUNT(filename)>1)