2015-04-05 2 views
-1

У меня есть проблема с этим SQL заявления он печатает результаты с дублированных строк, раздражает вот мой SQL заявление:SQL-Дублированный строки запросов SQL

SELECT 
week_day, 
exam_date , 
s.name , 
l.lgna_name 
,f.first_name 
FROM 
fci_exam_time_table_line, 
fci_subject s , 
fci_staff f, 
lgna_lgna l 
WHERE 
exam_id =%d 
GROUP BY 
week_day, 
exam_date , 
s.name , 
l.lgna_name , 
f.first_name 
ORDER BY 
exam_date 

и печатает, как показано ниже

week_day| exam_date |name|lgna_name|first_name 

"monday";"2015-04-13";"12"; "12" ;"12" 
"monday";"2015-04-13";"12"; "12" ;"323" 
"monday";"2015-04-13";"12"; "232" ;"12" 
"monday";"2015-04-13";"12"; "232" ;"323" 
"monday";"2015-04-14";"12"; "12" ;"12" 
"monday";"2015-04-14";"12"; "12" ;"323" 
"monday";"2015-04-14";"12"; "232" ;"12" 
"monday";"2015-04-14";"12"; "232" ;"323" 

и я хочу, чтобы напечатать это, как:

week_day| exam_date |name|lgna_name|first_name 

"monday";"2015-04-13";"12"; "12" ;"12,323" 
"monday";"2015-04-13";"12"; "232";"12,323" 
"monday";"2015-04-14";"12"; "12" ;"12,323" 
"monday";"2015-04-14";"12"; "232" ;"12,323" 
+1

Попробуйте ввести некоторые условия соединения. –

+0

Не могли бы вы рассказать мне, как? –

+0

'GROUP BY exam_date' и' GROUP_CONCAT (first_name) ' –

ответ

0

Использование Group_Concat функции и удалить т он f.first_name из Group by

SELECT week_day, 
     exam_date, 
     s.name, 
     l.lgna_name, 
     Group_conact(f.first_name, ',') 
FROM fci_exam_time_table_line, 
     fci_subject s, 
     fci_staff f, 
     lgna_lgna l 
WHERE exam_id =% d 
GROUP BY week_day, 
      exam_date, 
      s.name, 
      l.lgna_name 
ORDER BY exam_date 

Для Postgres использования array_to_string и array_agg. Для проверки разъяснений here

select ... 
     array_to_string(array_agg(f.first_name), ',') 
FROM fci_exam_time_table_line, 
     fci_subject s, 
     fci_staff f, 
     lgna_lgna l 
WHERE exam_id =% d 
GROUP BY week_day, 
      exam_date, 
      s.name, 
      l.lgna_name 
ORDER BY exam_date 
+0

Вы могли бы разместить эквивалент в postgersql? –

+0

@MostafaMohamed - да обновлено –

+0

Спасибо, AWESOME –

Смежные вопросы