Obracanie danych w SQL

0

Mam tabelę której występuje kolumna z przypisanymi tam numerami telefonów. Chciałbym uzyskać efekt wyświetlenia numerów telefonów w poziomie.
Np 100 numerów wyświetlone 10 na 10. Pierwsze 10 numerów pierwsza linia rekordu, drugie 10 druga linia rekordu itd. Proszę o pomoc lub podpowiedź.
PIVOT i UNPIVOT

0

nooooooo i? Czego tu nie potrafisz? Napisać zapytania? Napisać potem w wybranym języku wyświetlania tego tak jak to by miało być? Wybrać języka?

0

Pewnie zadanie czysto akademickie by jeszcze na poziomie SQL formatować dane.

0
somedev napisał(a):

Pewnie zadanie czysto akademickie by jeszcze na poziomie SQL formatować dane.

Mi to pachnie źle zaprojektowaną bazą (jedna szeroka kolumna z wieloma egzemplarzami danej zamiast tabeli "pionowej")

1

W sumie fajne ćwiczenie. Dla zabawy zaimplementowałem podział na 3 kolumny w SQLite:

select rn,
	max(case when col=0 then name else null end) as C1,
	max(case when col=1 then name else null end) as C2,
    max(case when col=2 then name else null end) as C3
from 
    (select name, col, row_number()over(partition by col order by name) AS rn from (SELECT name, ROW_NUMBER() OVER(ORDER BY id) % 3 AS col FROM demo))
group by rn

Można przetestować tu: https://sqliteonline.com/

Rozszerzenie do 10 powinno być łatwe.

0

Temat rozwiązany. Dziękuję tym, którzy wszystkie rozumy zjedli, również tym, którym bliżej do perfumerii, za pomoc w SQLite najbardziej, bo chciał. Żadna z waszych sugestii nie była trafna. Mylić się jest rzeczą ludzką, pomagać jest szlachetnością, drwić to uważać siebie za doskonałość. Z pyszna jeszcze raz dziękuję. Poważni ludzie od baz danych pomogli. Widać tu raczej zadufanie na poziomie świata własnego niekończącego się ego.

0

Poważni ludzie to potwierdzają o co im chodzi żeby poważni ludzie co zarabiają kasę za myślenie nie myśleli ma darmo przy niejasnych oczekiwaniach. Natomiast roszczenia gdzie oczekujesz darmowej pomocy są nietaktowne conajmniej.

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