Rumah  >  Artikel  >  pangkalan data  >  Berikut ialah beberapa tajuk artikel berdasarkan teks anda dalam format soalan: * Bagaimana untuk Mengakses Keputusan Pertanyaan sebagai Pembolehubah Pengguna dalam MySQL? * Bolehkah saya Menetapkan Pembolehubah Pengguna Berdasarkan Keputusan Pertanyaan dalam MySQL? * Apa

Berikut ialah beberapa tajuk artikel berdasarkan teks anda dalam format soalan: * Bagaimana untuk Mengakses Keputusan Pertanyaan sebagai Pembolehubah Pengguna dalam MySQL? * Bolehkah saya Menetapkan Pembolehubah Pengguna Berdasarkan Keputusan Pertanyaan dalam MySQL? * Apa

Patricia Arquette
Patricia Arquetteasal
2024-10-27 10:46:30146semak imbas

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

Mengakses Hasil Pertanyaan sebagai Pembolehubah Pengguna dalam MySQL

Menetapkan pembolehubah pengguna berdasarkan hasil pertanyaan boleh dilaksanakan dalam MySQL, mengurangkan keperluan untuk pertanyaan bersarang .

Pendekatan:

Untuk mencapai ini, masukkan penugasan pembolehubah dalam pertanyaan itu sendiri:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

Contoh:

Pertimbangkan jadual bernama "pengguna" dengan lajur "pengguna" dan "kumpulan":

<code class="mysql">CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);</code>

Pertanyaan:

<code class="mysql">SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;</code>

Output:

<code class="mysql">+--------+-------+
| user   | group |
+--------+-------+
| 123456 |     5 |
| 111111 |     5 |
+--------+-------+
2 rows in set (0.00 sec)</code>

Pendekatan Ganti:

Kaedah alternatif ialah menggunakan "LIMIT 1" dalam subkueri:

<code class="mysql">SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group; 
SELECT * FROM user WHERE `group` = @group;</code>

Ingat untuk menggunakan := sebagai pengendali tugasan dalam penyata SET. Pernyataan bukan SET memerlukan := untuk tugasan, manakala = dianggap sebagai pengendali perbandingan.

Atas ialah kandungan terperinci Berikut ialah beberapa tajuk artikel berdasarkan teks anda dalam format soalan: * Bagaimana untuk Mengakses Keputusan Pertanyaan sebagai Pembolehubah Pengguna dalam MySQL? * Bolehkah saya Menetapkan Pembolehubah Pengguna Berdasarkan Keputusan Pertanyaan dalam MySQL? * Apa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn