Wählen Sie die Ergebnisse einer Auswahl aus

8

Ich habe eine Datenbanktabelle, die Bewegungen von Benutzern in einem Spiel aufzeichnet. Bei jeder Bewegung notiere ich ihre Benutzer-ID, den move_index (erhöht jede Zeile) und die ID der Zone, in der sie sich befinden. Ich habe einen speziellen move_index-Wert von -1, um die letzte Bewegung dieses Benutzers anzuzeigen.

%Vor%

Ich möchte mit sql zwei Dinge tun:

  • Ermitteln Sie alle Benutzer, die in bestimmten Zonen gestartet und beendet wurden (z. B. in Zone 0 gestartet und in Zone 3 beendet)
  • Erweitern Sie die oben genannten Punkte und erkennen Sie alle Benutzer, die in bestimmten Zonen gestartet und beendet haben UND eine bestimmte Zone durchlaufen haben.

Ich weiß, wie das mit mehreren SQL-Anweisungen & amp; Java - aber ich weiß nicht, wie man das in einer einzigen SQL-Anweisung macht. Muss ich eine Auswahl treffen und dann auf die Ergebnisse dieser Auswahl klicken?

    
Kevin 24.01.2011, 10:36
quelle

3 Antworten

10

Sie können einfach eine SUBQUERY durchführen, um dies innerhalb einer "Single" zu erreichen. Abfrage.

z. B. SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);

Im Wesentlichen verwenden Sie die Ergebnisse des "inneren" SELECT als Arbeitsdatensatz für das "äußere" SELECT.

    
John Parker 24.01.2011, 10:44
quelle
0

Hier geht Ihre Frage:

%Vor%

Sie können den foobar-Wert in Ihrem Abfrageergebnis verwenden, um das Ergebnis der zweiten Gleichung zu bestimmen.

Ich denke, das sollte Ihnen einen Hinweis geben, wie es geht.

    
myAces 24.01.2011 10:50
quelle
0
%Vor%     
DoubleZero 24.01.2011 10:44
quelle

Tags und Links