Gruppieren aber ohne GROUP?
hawkmaster
- datenbank
0 Harlequin0 Bobby0 hawkmaster0 Bobby
0 Cheatah
Hallo zusammen,
ich weiss das Thema hört sich seltsam an.
Folgende Sitiuation bzw. MySQL Tabelle:
Option1 Value1
-----------------------
Haus blau
Haus rot
Auto xyz
Haus Grün
Auto bla
Auto wwww
Haus qqqq
Also es kommen bei "option1" immer wieder die gleichen Bezeichnungen vor aber die Inhalte von "Value" sind immer unterschiedlich.
Ich hätte nun gerne eine Ausgabe die mir immer alles was zu "Haus" gehört, dann zu "Auto" usw. also eine Art Gruppierung. Nur mit Group By kann ich ja hier nicht arbeiten.
Also irgendwie steh ich gerade auf dem Schlauch. Vermutlich ist es ganz einfach?
vielen Dank und viele Grüße
hawk
Yerf!
Ich hätte nun gerne eine Ausgabe die mir immer alles was zu "Haus" gehört, dann zu "Auto" usw. also eine Art Gruppierung. Nur mit Group By kann ich ja hier nicht arbeiten.
Also irgendwie steh ich gerade auf dem Schlauch. Vermutlich ist es ganz einfach?
Für mich hört sich das nach einer einfachen Sortierung an...
order by Option1
Oder hab ich das falsch verstanden?
Gruß,
Harlequin
Hallo Harlequin,
danke dir für deine Hilfe,
Für mich hört sich das nach einer einfachen Sortierung an...
order by Option1
Oder hab ich das falsch verstanden?
Nein, ich habe was falsch beschrieben:
Ich versuchs nochmals genauer.
Option1 Value1 Option2 Value2
----------------------------------------
Haus xyq Auto rot
Haus ert Auto werz
Garage qwe Baum rttzz
Haus ooo Auto blau
Turm qqq Auto mmm
Haus www Motor vvvv
Also es gibt in der Tabelle immer einmal Option1 mit dazugehörigen Value1 und das Option2 mit dazugehörigen Value2
Jetzt möchte ich alles zusammenfassen /Gruppieren was bei Option1 UND Option2 gleich ist
Im Beispiel oben also eine Ausgabe:
Haus xyq Auto rot
Haus ert Auto werz
Haus ooo Auto blau
aber nicht
Haus www Motor vvvv
Ich weiss nicht ob das rein mit SQL geht oder ob man das mit PHP Bordmitteln was machen muss?
Ich hoffe es ist jetzt klarer?
vielen Dank und viele Grüße
hawk
Hi,
Jetzt möchte ich alles zusammenfassen /Gruppieren was bei Option1 UND Option2 gleich ist
In den Beispieldaten sehe ich aber gar keine Gleichheiten zwischen Option 1 und Option 2, weder bei den Namen noch bei den Werten. Na gut, Haus und Auto haben beide die Buchstabenkombination "au". Aber das willst du ja sicher nicht.
Um aus den Beispieldaten folgende Ausgabe zu machen:
Haus xyq Auto rot
Haus ert Auto werz
Haus ooo Auto blau
sollte ein ORDER BY Option_1, Option_2
ausreichen?
aber nicht
Haus www Motor vvvv
Wieso, dass ist auch nicht ungleicher als Haus und Auto?
Ich weiss nicht ob das rein mit SQL geht oder ob man das mit PHP Bordmitteln was machen muss?
Ich hoffe es ist jetzt klarer?
Was bitte soll gehen? Klarer geworden ist es auch nicht, leider. :(
Gruss, Frank
Hallo Frank,
danke dir.
In den Beispieldaten sehe ich aber gar keine Gleichheiten zwischen Option 1 und Option 2, weder bei den Namen noch bei den Werten. Na gut, Haus und Auto haben beide die Buchstabenkombination "au". Aber das willst du ja sicher nicht.
Es geht mir darum das ich immer die gleichen Paare aus Option_1 und Option_2 bekomme, unabhängig der Werte.
Daher auch muss im Beispiel die Zeile Haus bei Option1 und Motor bei Option2 anders behandelt werden.
Um aus den Beispieldaten folgende Ausgabe zu machen:
Haus xyq Auto rot
Haus ert Auto werz
Haus ooo Auto blau
Ich muss halt später alle Kombinationen erfassen und diese wieder weiterverarbeiten.
vielen Dank und viele Grüße
hawk
Moin,
"Gruppenwechsel" sollte dein Stichwort sein, welches dir weiterhilft.
Gruß Bobby
Hallo Bobby,
danke auch dir,
hmm,
ich hatte so einen Gruppenwechsel schon drin. Nur müsste ich das nun über zwei Spalten machen.
Ich hatte es so versucht:
$altegruppe = '';
while ($row .... ){
$trenner = $spalte1."#@#".$spalte2;
if($trenner == $altegruppe){
$verbindung = ' || ';
}else {
$verbindung = '';
$altegruppe = $trenner;
}
$main_arr[$trenner] = $verbindung . $newvalue;
}
ich versuche also ein Array so zu benennen wie die Inhalte aus Spalte Option1 und Option2
Jetzt würde ich natürlich auch gerne nur diese Werte in das jeweilige Array schreiben.
vielen Dank und viele Grüße
hawk
Moin,
versuch es doch in einem Mehrdimensionalen Array zusammenzufassen, Dann kannst du die Ausgabe sortieren wie du das gern möchtest.
Gruß Bobby
Hi,
Ich hätte nun gerne eine Ausgabe
in aller Regel findet die Ausgabe nicht über das DBMS statt.
die mir immer alles was zu "Haus" gehört, dann zu "Auto" usw. also eine Art Gruppierung.
Wie stellst Du Dir das Result-Set vor?
Cheatah
Hallo Cheatah
danke dir.
Wie stellst Du Dir das Result-Set vor?
Ich programmiere in PHP und brauche die Werte später wieder für ein Formular bzw. um Javascript Abfragen daraus zu machen.
Ich habe eben noch eine Ergänzung zu meiner Fragestellung geschrieben.
vielen Dank und viele Grüße
hawk