Hej,
Sytuacja jest następująca: w PostgreSQL mam dwie tabele, a w nich dwie kolumny, które chciałbym odjąć od siebie (ich wartości). Wykonując poniższe zapytania otrzymuję dwa elementy składowe, brakuje mi tylko wyniku:
SELECT max_participants FROM courses ORDER BY id;
W wyniku tego zapytania, dostaję 6 wierszy z liczbami.
SELECT COUNT(id) FROM participations GROUP BY course_id ORDER BY course_id;
Tutaj dostaję również 6 wierszy, również z liczbami.
Chcę teraz odjąć te zapytania od siebie. Probówałem tak:
SELECT max_participants - (SELECT COUNT(id) FROM participations GROUP BY course_id ORDER BY course_id) FROM courses;
Powyższa próba generuje błąd:
ERROR: more than one row returned by a subquery used as an expression
Pytanie brzmi: czy da się to zrobić w ten sposób? A może istnieje jakiś prostszy sposób podejścia do tego problemu?