Używam relacyjnej bazy MySQL wersja 5.1.5 oraz jako frontega bazy pakietu LibreOffice wersja 3.3.0.
Napotkałem na problem przy tworzeniu do bazy zapytania z podwójną konkatenacją, gdzie po sobie występują co najmniej dwa zapytania z konkatenacją do różnych tabel bazy - wówczas w tak otrzymanym wyniku powielają mi się i powstają duplikaty niektórych połączonych tak pól i rekordów.
Problem polega na tym, że nie wiem jak zlikwidować te duplikaty lub jak zmienić zapytanie aby nie powstawały .??????
Podaję kod zapytania:
Kod: Zaznacz cały
SELECT distinct
`dane`.`id_dane`,
GROUP_CONCAT(CONCAT_WS(' ', CONVERT(`dane_obieg`.`data`, CHAR(10)),`dane_obieg`.`obieg`, ' | ') SEPARATOR '\n') AS `data i obieg`,
GROUP_CONCAT(CONCAT_WS(' ', CONVERT(`dane_koniec`.`data_zakonczenia`, CHAR(10)),`lista_wynik`.`wynik_symbol`, ' | ') SEPARATOR '\n') AS `data i wynik `
FROM
{ OJ `rsd_wk`.`dane` AS `dane`
LEFT OUTER JOIN `rsd_wk`.`dane_obieg` AS `dane_obieg` ON `dane`.`id_dane` = `dane_obieg`.`fk_id_dane`
LEFT OUTER JOIN `rsd_wk`.`dane_koniec` AS `dane_koniec` ON `dane`.`id_dane` = `dane_koniec`.`fk_id_dane`
LEFT OUTER JOIN `rsd_wk`.`lista_wynik` AS `lista_wynik` ON `dane_koniec`.`fk_id_lista_wynik` = `lista_wynik`.`id_lista_wynik`}
GROUP BY `id_dane`;
http://czp.pl/baza/obraz.jpg
Np. w rekordzie nr 2 w polu `data i obieg` widzimy 3 połączone (takie same) rekordy a powinien być jeden. Dopóki w takich zapytaniach nie było drugiej konkatenacji czyli wyniku w polu `data i wynik` to problem ten nie występował.