Zugriff auf Abfrageergebnisse als Benutzervariablen in MySQL
Das Festlegen von Benutzervariablen basierend auf Abfrageergebnissen ist in MySQL möglich, wodurch die Notwendigkeit verschachtelter Abfragen verringert wird .
Ansatz:
Um dies zu erreichen, integrieren Sie die Variablenzuweisung in die Abfrage selbst:
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group;</code>
Beispiel:
Betrachten Sie eine Tabelle mit dem Namen „Benutzer“ mit den Spalten „Benutzer“ und „Gruppe“:
<code class="mysql">CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);</code>
Abfrage:
<code class="mysql">SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @group;</code>
Ausgabe:
<code class="mysql">+--------+-------+ | user | group | +--------+-------+ | 123456 | 5 | | 111111 | 5 | +--------+-------+ 2 rows in set (0.00 sec)</code>
Alternativer Ansatz:
Eine alternative Methode ist die Verwendung von „LIMIT 1“ innerhalb einer Unterabfrage:
<code class="mysql">SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;</code>
Denken Sie daran, := als Zuweisungsoperator in SET-Anweisungen zu verwenden. Nicht-SET-Anweisungen erfordern := für die Zuweisung, während = als Vergleichsoperator behandelt wird.
Das obige ist der detaillierte Inhalt vonHier sind einige Artikeltitel, die auf Ihrem Text im Frageformat basieren: * Wie greife ich in MySQL auf Abfrageergebnisse als Benutzervariablen zu? * Kann ich Benutzervariablen basierend auf Abfrageergebnissen in MySQL zuweisen? * Was. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!