5
zastanawiałem się, czy ktoś może mi pomóc trochę z tego zapytania:Kolumna nie istnieje?
SELECT u1.id,count(DISTINCT u2.userstatus) as TEMPCOLUMN FROM users AS u1
JOIN friendssym ON u1.id = friendssym.user_id
JOIN (SELECT * FROM users) as u2 ON friendssym.friend_id=u2.id
WHERE TEMPCOLUMN=1
group by u1.id;
Chcę tylko mieć wyniki, gdzie count (który zostanie zmieniona) jest równa 1. pojawia się błąd z tego zapytania:
ERROR: column "tempcolumn" does not exist
Ale kolumna powinny istnieje, prawda? Czy ktoś może pomóc? Dzięki!
Używałem aliasu kolumn, ponieważ WHERE nie pozwoliłby mi bezpośrednio korzystać z COUNT (mówi, że nie może używać agregatów), ale HAVING działa idealnie. Dzięki za pomoc! – Joseph
@Airjoe: Tak, nie można używać funkcji agregujących (COUNT, SUMA, MIN lub MAX) w klauzuli WHERE poza podzapytaniem - należy użyć do tego klauzuli HAVING. –