• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

2 abfragen miteinander verknüpfen

Status
Für weitere Antworten geschlossen.

kahremst

Neues Mitglied
hi,

ist es irgend wie möglich 2 abfragen so mit einander zu verknüpfen, dass das ergebnis nachher mit einer anfrage an den mysql-server abgefragt werden kann?

gegebenheiten:
ich habe eine spalte, die sich "kategorie" nennt (mit zahlen von 0 bis 10) und eine, die sich "hoehe" nennt (mit zahlen, höhe der zahlen ist irrelevant).
ziel bei der ausgabe:
die ersten daten sätze sollen alle sein, bei denen kategorie nicht 2 und nicht 10 ist, absteigend nach hoehe sortiert.
anschließend sollen gleich die datensätze kommen, bei denen kategorie 2 oder 10 ist, und hoehe ebenfalls absteigend sortiert.

wie kann man soetwas mit einer anfrage an den server realisieren?

vielen dank!

gruß stefan

ps: falls ich mich undeutlich ausgedrückt habe, bitte nochmal nachfragen
 
Werbung:
Mal Stück für Stück damit ich es auch richtig verstanden habe:

die ersten daten sätze sollen alle sein, bei denen kategorie nicht 2 und nicht 10 ist, absteigend nach hoehe sortiert.

Sähe so aus:

Code:
select kategorie from tabelle where kategorie != '2' and kategorie != '10' order by hoehe desc

Heraus käme z.B. folgende einzelne Datensätze:
1
3
3
4

anschließend sollen gleich die datensätze kommen, bei denen kategorie 2 oder 10 ist, und hoehe ebenfalls absteigend sortiert.

Das als SQL-Statement formuliert sähe so aus:

Code:
select kategorie from tabelle where kategorie = '2' and kategorie = '10' order by hoehe desc

Heraus käme z.B. folgende einzelnen Datensätze:
2
10
10
2

Und die Ergebnisse dieser beiden Statements willst du miteinander verknüpfen? Ergibt für mich gerade keinen Sinn, da ein Datensatz als Ergebnis dann so aussähe:

1
2
3
3
4
5
10

:-|
 
Mal Stück für Stück damit ich es auch richtig verstanden habe:
datenquelle:
html-de_abfragen-verknuepfen_1.gif
Sähe so aus:

Code:
select kategorie from tabelle where kategorie != '2' and kategorie != '10' order by hoehe desc

Heraus käme z.B. folgende einzelne Datensätze:
1
3
3
4
Wenn man hoehe noch mit bei der ausgabe rein nimmt, sieht der code dann so aus:
Code:
select kategorie, hoehe from tabelle where kategorie != '2' and kategorie != '10' order by hoehe desc
und die ausgabe so:
html-de_abfragen-verknuepfen_2.gif

Das als SQL-Statement formuliert sähe so aus:

Code:
select kategorie from tabelle where kategorie = '2' and kategorie = '10' order by hoehe desc

Heraus käme z.B. folgende einzelnen Datensätze:
2
10
10
2
Wenn man hoehe noch mit bei der ausgabe rein nimmt, sieht der code dann so aus:
Code:
select kategorie, hoehe from tabelle where kategorie = '2' or kategorie = '10' order by hoehe desc
und die ausgabe so:
html-de_abfragen-verknuepfen_3.gif

Und die Ergebnisse dieser beiden Statements willst du miteinander verknüpfen? Ergibt für mich gerade keinen Sinn, da ein Datensatz als Ergebnis dann so aussähe:

1
2
3
3
4
5
10
das endergebnis sollte dann folgendermaßen aussehen:
html-de_abfragen-verknuepfen_4.gif



ich möchte jetzt wissen, wie ich zu so einem endergbnis kommt mit nur einer anfrage an den sql-server
 
Werbung:
Wieso nicht einfach so:

Code:
select kategorie from tabelle order by height

Oder hab ich irgendwas falsch verstanden? :?
 
Wieso nicht einfach so:

Code:
select kategorie from tabelle order by height

Oder hab ich irgendwas falsch verstanden? :?

schau dir doch bitte mal an, wie das endergebnis aussehen soll:
html-de_abfragen-verknuepfen_4.gif

spalte 1 ist kategorie, spalte 2 hoehe
im oberen teil ist hoehe absteigend sortiert, mit allem kategorien außer 2 und 10.
un untern teil fägt das von neuem an, hoehe ist absteigend sortiert, diesmal aber nur die kategorien 2 und 10 (die, die vorher ausgelassen wurden...)

aus diesem grund geht es leider nicht mit dieser abfrage...
 
Hätte ich eine Idee, aber weiß nicht ob es funktioniert. Vom Sinn her müsstest du zum einen eine zweite Sortierung einführen und das Ergebnis primär nach dieser sortieren lassen, sekundär nach der Höhe. Außerdem müsstest du für jedes Teil-Statement eine eigene temporäre Tabelle einbinden. Problem nur: als Ergebnis kämen 4 Spalten heraus.

Wieso willst du soetwas eigentlich erreichen? Nur um 1 Statement zu sparen?
 
Werbung:
weil ich mir dann eine reihe anderer abfragen und sonstigem code sparen kann...

kann man dem mysql nicht irgendwie sagen, hänge die ergebnisse dieser beiden abfragen einfach hintereinander?
 
hey! danke! ich werde mich da dann die nächsten tage (hoffentlich komm ich auch dazu ^^) reinsteigern.

nochmals danke für deine hilfe!

gruß stefan
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben