Heim  >  Artikel  >  Datenbank  >  Hier 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

Hier 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

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 10:46:30146Durchsuche

Here are a few article titles based on your text in a question format:

* How to Access Query Results as User Variables in MySQL?
* Can I Assign User Variables Based on Query Results in MySQL?
* What are the Different Methods for Setting User Variables Ba

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn