Widok wiele do wiele PostgreSQL

0

Mam problem chce zrobić widok jeden <-> wiele <-> jeden po jednej stronie mamy książki w środku tablice krosującą po prawej autorów i nie wiem jak dokleić przez kros autorów zapytanie wygląda tak

SELECT books.id_book AS id, books.isbn, books.title, publishers.name, 
    books.year_publication, place_publication.city, type_publication.type, authors.name
   FROM books
   JOIN publishers USING (id_publisher)
   JOIN place_publication USING (id_place_publication)
   JOIN type_publication USING (id_type_publication)
   JOIN cross_b_a USING (id_book)
   JOIN Authors USING (id_author);

PostgreSQL wielokrotności pola authors.name i nie bardzo wiem jak to obejść.

0

przykładowe dane wejściowe i jak mają wyglądać dane wyjściowe. Zazwyczaj relację inną niż 1..1 prezentuje się w dwóch tabelach - rekordy nadrzędne i do jednego aktualnie wybranego rekordu nadrzędnego rekordy podrzędne

0

Dane wejsćiowe mamy
tabela książki z pod tabelami
id, isbn , tytuł, Wydawnictwo, rok wydania, miejsce wydania, typ publikacji
tabela autorzy
id nazwa

wyjściowe
id, isbn , tytuł, Wydawnictwo, rok wydania, miejsce wydania, typ publikacji, autor1, autor2, autor3, ..... jeśli istnieje

chciałbym zrobić coś w rodzaju tablicy poszarpanej aby autorzy zostali dodani jeden po drugim w tabeli ewentualnie jęsli nie ma na tyle autorów puste pola.

1

jednym zapytaniem tego nie zrobisz. Mógłbyś zastosować pivota ale wtedy będziesz miał tyle dodatkowych kolumn le jest wszystkich autorów. Jedyne wyjście jakie widzę to sklejać po stronie prezentacji te dane w jedną tablicę

1

Jeśli autorzy mogą być w jednej kolumnie, to spróbuj połączyć z zagregowanymi auytorami. Zagregowanymi za pomocą array_agg.
Jeśli nie, to pivot może ci pomóc. Do posgresql trzeba sobie 'doinstalować'...

0

A czy przy pivocie będzie działać insert into do widoku czy nie.

Po długim namyśle to chyba zrobię po stronie prezentacji ponieważ dodanie kolumn ingeruje w strukturę co nie pozwoli użyć zapytania insert into a z pivotem mogę mieć problem na uczelni nie wiem czy go doinstalują. Chyba że ktoś ma jakieś ciekawe pomysły jeszcze.

0

No to chyba zamykamy temat.

1 użytkowników online, w tym zalogowanych: 0, gości: 1