Saya mempunyai jadual berikut dengan data berikut:
id | Teks | Bahasa |
---|---|---|
1 | Teks bahasa Jerman | Jerman |
2 | Teks bahasa Inggeris | Bahasa Inggeris |
Apa yang saya mahukan ialah mendapatkan keputusan dalam format berikut:
german="deutscher text" english="english text"
Ini sepatutnya bermakna bukan :
text="deutscher text" text="english text"
Nama Kunci/Lajurtext
应该是来自language
Data
Saya mencuba pertanyaan berikut tetapi tidak berjaya:
SELECT text as (SELECT language FROM `table` where id = 1) FROM `table` where id = 1;
(SELECT language FROM
table where id = 1)
akan mengembalikan "jerman", jadi pertanyaannya hendaklah:
"Pilih teks Jerman dari table
di mana id = 1;" tetapi ini tidak berfungsi.
Adakah terdapat cara untuk melakukan ini dalam satu pertanyaan?
Sekian, Thomas
Anda perlu menukar sedikit skema jadual; menambah rujukan untuk mengumpulkan bahasa yang anda mahu gunakan
Kemudian SQL
Data palsu
Satu pilihan yang boleh anda gunakan ialah
PREPARED STATMENT
:Langkah pertama ialah memperuntukkan pembolehubah
@sql
变量所需的列。然后,将先前分配的@sql
变量与最终SELECT
查询的其余部分连接起来,然后将其重新分配给@sql
secara dinamik. Pertanyaan akan dihantar ke:Akhir sekali, kami menyediakan, melaksanakan dan kemudian mengalokasikan penyataan yang diperuntukkan dalam pembolehubah
@sql
dan anda akan mendapat hasil yang diharapkan.Demo Violin