MySQL语法扩展多个表的链接

时间:2014-09-16 10:41:52

标签: mysql join

这似乎很基本,但我不确定这个问题背后的词汇,这使得在线查找很难。

我有两张桌子:

  • sentences(字段:id,语言,作者),其中包含两种语言的句子
  • links(字段:id1,id2),它引用sentences表内的句子。含义:id2中引用的每个句子都是句子id1的翻译。

我想要的是通过显示每种语言的句子来显示links表,但展开它。 技术术语将是什么?扩展'操作

即:而不仅仅是:

id1     id2 
1276    4569
1283    3098
1284    3099

我试图获得以下内容:

id1     id2     sentence1    sentence(2)
1276    4569    Hi           Salut          
1283    3098    I love pie.  J'adore les gâteaux.
1284    3099    Wanna drink? Tu veux biore quelque chose?

这是我到目前为止所得到的......但是我仍然错过了id2的整个句子。

SELECT sentences.*, links.* FROM links
JOIN sentences ON links.id1 = sentences.id

2 个答案:

答案 0 :(得分:1)

SELECT s2.*,s1.*, links.* FROM links
JOIN sentences as s1 ON links.id1 = s1.id
Join sentences as s2 on links.id2 = s2.id

答案 1 :(得分:0)

为避免编程语言(php?)出现问题,不应在查询中使用*。 只需列出SELECT中所需的所有列,并为表s2中的列提供别名