Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql中的几个翻译连接_Sql_Select - Fatal编程技术网

sql中的几个翻译连接

sql中的几个翻译连接,sql,select,Sql,Select,主表保存关于具有int-id的事物的信息 这些id的翻译在第二个表中。第二个表的Id引用主表Id,并保存这些Id的文本描述。我需要一个提示,如何编写sql select子句以从主表获取所有字段,从而使其所有id值都显示为翻译文本?类似以下内容: select table1.*, table2.description from table1, table2 where table1.id = table2.id; 假设表1中有id1、id2、id3和表2的翻译,我将这样做(未测试): 那只是一

主表保存关于具有int-id的事物的信息

这些id的翻译在第二个表中。第二个表的Id引用主表Id,并保存这些Id的文本描述。我需要一个提示,如何编写sql select子句以从主表获取所有字段,从而使其所有id值都显示为翻译文本?

类似以下内容:

select table1.*, table2.description from table1, table2 
where table1.id = table2.id;

假设表1中有id1、id2、id3和表2的翻译,我将这样做(未测试):


那只是一个加入?我的意思是,主表中的字段类似于thing1_id、thing2_id等等。如果您能为我们提供最具代表性的表外观示例,那将非常有用。就你的问题而言,本·克利福德的回答是正确的,但看起来你实际上是想问一个不同的问题!您可以编写更长的联接,每列一个联接。但我可以看到它很快就变长了:从表1中选择j1.description,j2.description,表2为j1,表2为j2,其中j1.id=table1.thing1_id,j2.id=table1.thing2_id
Select T1.ID1, T1.ID2, T1.ID3, T21.Translation as Name1, T22.Translation  as Name2, T23.Translation  as Name3,
from Table1 T1 left join Table2 T21 on T1.Id1 = T21.Table1_ID
   left join Table2 T22 on T1.Id2 = T22.Table1_ID
   left join Table2 T23 on T1.Id3 = T23.Table1_ID