ADAC OnlineShop Newsletteranmeldung
Alt 13.10.2011, 11:45:09   #1 (permalink)
Chancentod²
Benutzerbild von WhiZZler

ID: 85586
Lose-Remote

WhiZZler eine Nachricht über ICQ schicken
Reg: 06.05.2006
Beiträge: 652
WhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nett
Standard Zeilen als Spalten auslesen

Begrüße!

Mal wieder eine Frage zu MySQL

Ich habe zwei Tabellen:

term_index
term_id term
1foo
2bar
3blub

element_has_term
site_id term_id term_weight
1foo0,75
1bar0,25
2blub1

So soll die Ausgabe aussehen:
site_idfoobarblub
10,750,250
2001

Wenn man möchte also praktisch ein Vektor mit den im Index vorhandenen Termen als Dimensionen.

Die Anzahl der Terme in term_index soll Also der Anzahl der Spalten (oder, wenn man das ganze als Vektor betrachtet, Dimensionen) entsprechen. Ist es irgendwie möglich das direkt über MySQL zu lösen? Wäre irgendwie schöner als sich dafür extra etwas schreiben zu müssen. Auch wenn ich wenig Hoffnung habe, dass das direkt in MySQL geht.

Danke im voraus,
MfG,
WhiZZler
..and you could have it all, my empire of dirt..

WhiZZler ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 13.10.2011, 12:42:23   #2 (permalink)
Erfahrener Benutzer

ID: 129556
Lose-Remote

Reg: 28.02.2010
Beiträge: 439
tobomator tobomator tobomator tobomator tobomator tobomator
Standard

Auch wenn es mir gerade schwerfällt, dies nicht zu schreiben, aber

RTFM

und dann bitte mal folgenedes lesen:

http://dev.mysql.com/doc/refman/5.1/de/join.html

Danke
tobomator ist offline   Mit Zitat antworten
Alt 13.10.2011, 12:47:49   #3 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Und wie kriegt man mit 'nem JOIN die spezifischen Inhalte von X verknüpften Zeilen dynamisch als Spalten?

@WhiZZler:

Ich lasse mich gerne eines besseren belehren, aber ich glaube, das geht so mit reinen MySQL-Mitteln nicht auf effiziente Art und Weise (irgendwie kriegt man das bestimmt hingehackt, aber ob man das wirklich will?). Insofern wird's wohl auf die korrekte Aufbereitung auf PHP-Seite hinauslaufen.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 13.10.2011, 15:04:55   #4 (permalink)
Chancentod²
Benutzerbild von WhiZZler

ID: 85586
Lose-Remote

WhiZZler eine Nachricht über ICQ schicken
Reg: 06.05.2006
Beiträge: 652
WhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nett
Standard

Ich habe jetzt auch nochmal intensiver gegooglet und es sieht wirklich so aus, als ob es da keine vernünftige Möglichkeit geben würde. Mit Joins kann man es lösen, wenn die Anzahl der Dimensionen bekannt ist, wobei man dann für jede Dimension auch einen Join braucht.

Ich habe jetzt eine andere, für mich ebenso optimale Lösung gefunden. Das ganze wird in R weiterverarbeitet, um einige statistische Berechnungen durchzuführen. Und in R ist das ganze sehr schön und komfortabel zu lösen.

Falls es wen interessiert: das reshape Package bietet sehr komfortable Methoden, um die Umformung in einer Zeile hinzubekommen. Ist zwar wie häufiger bei R nicht ganz einfach dahinter zu kommen, welche Attribute man wie setzen muss, aber mit irgendwann klappt es schon
..and you could have it all, my empire of dirt..

WhiZZler ist offline Threadstarter   Mit Zitat antworten
Alt 13.10.2011, 15:21:12   #5 (permalink)
Erfahrener Benutzer

ID: 129556
Lose-Remote

Reg: 28.02.2010
Beiträge: 439
tobomator tobomator tobomator tobomator tobomator tobomator
Standard

es gibt bei mysql auch "Filter" mit denen man doppelte "Dimensionen" aus der Menge des Ergebnisses "entfernt, somit nicht angezeigt werden.
Aber wie oben schon erwähnt...

Wer nicht lesen will, oder sich nicht weiterbildet, kann unter Umständen auch zu anderen Methoden greifen und es geht auch umständlich ...

@tleilax:
mit dem richtigen Tabellen "design" würde ich die obigen sachen so nie in einer DB ablegen...
tobomator ist offline   Mit Zitat antworten
Alt 13.10.2011, 15:32:41   #6 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Zitat:
Zitat von tobomator Beitrag anzeigen
Wer nicht lesen will, oder sich nicht weiterbildet, kann unter Umständen auch zu anderen Methoden greifen und es geht auch umständlich ...
Ich frage nochmal aus wirklichem Interesse nach: Wie hilft JOIN hier dabei weiter, dynamisch (so wie es die Tabellenstruktur erlaubt) X Spalten aus X Zeilen zu einer einzigen Zeile zu aggregieren? Wenn man das Query vorher erst umständlich in PHP bauen muss, ist es in meinen Augen keine Lösung in MySQL mehr.

Zitat:
Zitat von tobomator Beitrag anzeigen
@tleilax:
mit dem richtigen Tabellen "design" würde ich die obigen sachen so nie in einer DB ablegen...
Ich vielleicht auch nicht, aber das spielt doch schlussendlich auch keine Rolle. So ist nunmal die Vorgabe und damit muss man dann halt arbeiten. WhiZZler hat ja schliesslich nicht nach Kritik an der Struktur der Tabellen gefragt sondern nach der konkreten Lösung eines spezifischen Problems...
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 13.10.2011, 15:39:50   #7 (permalink)
Chancentod²
Benutzerbild von WhiZZler

ID: 85586
Lose-Remote

WhiZZler eine Nachricht über ICQ schicken
Reg: 06.05.2006
Beiträge: 652
WhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nettWhiZZler ist einfach richtig nett
Standard

Dass ich die Daten in dieser Form brauche hat sich erst jetzt im Laufe der Arbeit ergeben. Da es aber nur um eine einmalige Analyse geht ist es mir auch relativ egal, ob das jetzt performant und elegant oder eben langsam und umständlich ist. Da ich die Daten aber eh in R brauche finde ich die Lösung so auf jeden Fall zufriedenstellend.
..and you could have it all, my empire of dirt..

WhiZZler ist offline Threadstarter   Mit Zitat antworten
Alt 13.10.2011, 16:05:56   #8 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.469
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Die entsprechende Engines haben Beschränkungen, wie viele Spalten eine Tabelle haben kann. Ich werf jetzt einfach mal in den Raum: Evtl. wird es gefährlich, wenn du ein Result mit Millionen von Spalten haben willst.
theHacker ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP/MySQL] GELÖST: Mehrere Zeilen als mehreren Spalten ausgeben? Papenburger Programmierung 7 13.06.2011 19:23:34
[PHP/MySQL] doppelte Einträge von mehreren spalten in verschiedenen Zeilen in abhängigkeit vom Datum anzeigen Flieschi Programmierung 12 06.01.2011 15:43:58
[CSS] Aus 2 Spalten 3 machen Gremlin Programmierung 2 18.05.2009 20:03:56
[PHP] Anzahl Zeilen in einer Textdatei auslesen. T-Flow Programmierung 20 30.12.2006 14:25:57
[CSS] komplette Tabelle mit 2 Zeilen und 3 Spalten ottili Programmierung 5 07.08.2006 15:52:43


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51:42 Uhr.