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:
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`;
poniżej podaję link do obrazu przedstawiającego zapytanie kwerendy oraz wynik zapytania:
obraz zapytania i wyniku
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ł.
========================================
Dalej męczę ten temat ale bez zadowalających efektów.
Zauważyłem jednak, że jak podzielę to zapytanie i utworzę dwie kwerendy, z których w jednej utworzę zapytanie z podwójną konkatenacją do tabeli `dane_obieg`, a w drugiej zapytanie z podwójną konkatenacją do tabeli `dane_koniec` to obie osobno działają bez zarzutu. Gdy teraz utworzę trzecia kwerendę i połączę dwie pierwsze kwerendy złączeniem wewnętrznym to otrzymany wynik jest całkowicie poprawny i nie mam powielonych duplikatów żadnych rekordów.
Sposób ten jednak nie odpowiada mi bo tak naprawdę w tym jednym zapytaniu chcę się odnieść do około 10 tabel z podwójną konkatenacją i rozbijanie jednego zapytania na wiele kwerend po prostu zagmatwa całość.
Potrzebuję więc jednego zapytania ale niestety robię w nim gdzieś błąd skoro powielają się rekordy przy złączeniach z podwójną konkatenacją.