0
主表包含int id的信息。sql中的几个翻译连接
这些id的翻译在第二个表中。第二个表的ID是指主表ID,并保存这些的文本描述。我需要一个提示如何编写一个sql select子句来获取主表中的所有字段,以便它的所有id值都显示为翻译文本?
主表包含int id的信息。sql中的几个翻译连接
这些id的翻译在第二个表中。第二个表的ID是指主表ID,并保存这些的文本描述。我需要一个提示如何编写一个sql select子句来获取主表中的所有字段,以便它的所有id值都显示为翻译文本?
假设表1有ID1,ID2,ID3和表2的翻译,我会做这样的事情(未测试):
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
是这样的:
select table1.*, table2.description from table1, table2
where table1.id = table2.id;
这只是一个加入?我的意思是,主表中的字段类似于thing1_id,thing2_id等。 – mjgirl
@mjgirl如果您能为我们提供最少的代表性示例,说明您的表格的外观,这将会非常有用。本克利福德的回答在你的问题的背景下是正确的,但似乎你实际上试图提出一个不同的问题! –
你可以写一个更长的连接,每列有一个连接。我可以看到虽然变得相当快,但是:从table1选择j1.description,j2.description,将table2选为j1,将table2选为j2,其中j1.id = table1.thing1_id,j2.id = table1.thing2_id –