Can you count the letter "-" in:
Q: Как конкатинировать и отформатировать вывод postgres Знаю что спрашивали не однократно, но ответ найти не могу, ребята, подскажите.
У меня есть три таблицы
students (student_id, first_name, last_name);
courses (course_id, name, description);
students_courses (student_id, course_id);

Задача 

Write SQL query that finds name of course and related students.

Я написал запрос 
SELECT s.first_name, s.last_name, c.name 
FROM courses c 
INNER JOIN students_courses sc ON sc.course_id = c.course_id 
INNER JOIN students s ON s.student_id = sc.student_id 
ORDER BY c.name;

Который выводит таблицу в таком виде 
 name | first_name |  last_name   
 ------+------------+--------------
 Java | Name       | SurName
 Java | Name       | SurName
 Java | Name       | SurName
 Java | Name       | SurName
 JS   | Name       | SurName
 JS   | Name       | SurName
 ...

А мне нужен такой вывод:
 course_name | full_name   
 ------+------------+--------------
 Java        | Name Surname1, Name Surname2, Name Surname3...
 JS          | Name Surname1, Name Surname2, Name Surname3...

Тоесть вывод через запятую в части где имена.
А также вывод названия курса в виде DISTINCT. 
Спасибо

A: Воспользуйтесь функцией concat.
SELECT concat(s.first_name,', ', s.last_name) "full_name", c.name 
FROM courses c 
INNER JOIN students_courses sc ON sc.course_id = c.course_id 
INNER JOIN students s ON s.student_id = sc.student_id 
ORDER BY c.name;


user
There are 64 "-"s.
assistant