» »

mySQL izpis many-to-many to matrix

mySQL izpis many-to-many to matrix

čuhalev ::

Imam tri tabele, 2 sta šifranta, 1 tabela je many-to-many med tema tabelama. Torej primer:
A: id_osebe, ime_osebe
B: id_predmeta, ime_predmeta
C: id, id_osebe, id_predmeta, kolicina
Tabela C tu pove, kdo se koliko česa lasti. Sedaj pa bi rad to prikazal z matriko, torej želim izpis, v katerem imam v vsaki vrstici podatke po stoplcih (id_osebe, ime_osebe ter kolicine po vseh id_predmeta (kolikor pač jih je). Seveda lahko grem (na roke z enim SELECT po id_osebe) in potem z drugim SELECT FROM C ... WHERE id_osebe=x, a bi rad to združil v eno poizvedbo.

Kolikor sem našel na spletu gre za pivot table, vendar so v njem imena vrstic id_predmeta, ki postanejo potem stolpci določeni na roko, meni pa je v redu, če je samo P##, kjer je ## pač id_predmeta.

čuhalev ::

V bistvu lahko na tabelo C gledamo kot sparse zapis matrike, ki jo bi rad bral po vrsticah (id_osebe) in stolpcih (id_predmeta).

nyler ::

Če te pravilno zastopim...

SELECT * FROM C
INNER JOIN A on C.id_osebe=A.id_osebe
INNER JOIN B on C.id_predmet=B.id_predmet
WHERE A.id_osebe=x

Mogoče tole če te pravilno zastopim.

Zgodovina sprememb…

  • spremenilo: nyler ()

čuhalev ::

Od uča na tale stavek lahko rečem, da se A.id_osebe ene osebe (v tem primeru osebe x) lahko pojavi v več kot v 1 vrstici, če ima ta v posesti več predmetov. Kar želim jaz je izpis:

  |       | jajce | hren | avokado | ajvar
7 | Janez |   1   |   0  |    2    |  88

iz A:
7 | Janez

B:
1 | jajce
2 | hren
3 | avokado
4 | ajvar

in C
7 | 1 | 1
7 | 3 | 2
7 | 4 | 88

Zgodovina sprememb…

  • spremenil: čuhalev ()

DeeJay ::

Z enim querijem bo težka, predvsem zato ker hočeš stolpični rezultat.

Apple ::

count, pa group by...
LP, Apple

čuhalev ::

Najbližje k temu mi zaenkrat pride GROUP_CONCAT, ampak vrne vse v enem polju.

klemenSLO ::

Z SQL bi lahko uporabil dinamični pivot. google vrne neke rezultate tudi za dynamic pivot Mysql .... nisem pa nikoli probal....
Life is not measured in minutes, but in MOMENTS...

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Matura 2 predmet E-redovalnica

Oddelek: Programiranje
101272 (906) FiR3F0X
»

[SQL] PgAdmin preprosto vprasanje povezano s stolpci v tabeli

Oddelek: Programiranje
221898 (1257) Cvele2011
»

namizna aplikacija v javi

Oddelek: Programiranje
371640 (1153) urosz
»

SQL vprašanje

Oddelek: Izdelava spletišč
302336 (1899) jerneju
»

Sortiranje podatkov v PHPju

Oddelek: Programiranje
81052 (902) poweroff

Več podobnih tem