Ich habe die folgende Tabelle mit den folgenden Daten:
id | Text | Sprache |
---|---|---|
1 | Deutscher Text | Deutsch |
2 | Englischer Text | Englisch |
Ich möchte Ergebnisse im folgenden Format erhalten:
german="deutscher text" english="english text"
Das sollte nicht bedeuten:
text="deutscher text" text="english text"
Schlüssel-/Spaltennametext
应该是来自language
Daten
Ich habe die folgende Abfrage versucht, aber sie funktioniert nicht:
SELECT text as (SELECT language FROM `table` where id = 1) FROM `table` where id = 1;
(SELECT language FROM
table where id = 1)
gibt „deutsch“ zurück, daher sollte die Abfrage wie folgt lauten:
„Wählen Sie deutschen Text aus table
, wobei id = 1;“ aber das funktioniert nicht.
Gibt es eine Möglichkeit, dies in einer Abfrage zu tun?
Cheers, Thomas
您必须稍微更改一下表架构;添加了对要使用的语言进行分组的引用
然后是SQL
虚拟数据
您可以使用的一个选项是
PREPARED STATMENT
:第一步是动态分配
@sql
变量所需的列。然后,将先前分配的@sql
变量与最终SELECT
查询的其余部分连接起来,然后将其重新分配给@sql
变量。查询将以:最后,我们准备、执行然后取消分配在
@sql
变量中分配的语句,您将得到预期的结果。演示小提琴