【问题标题】:How to get data in single query from different tables如何从不同的表中获取单个查询中的数据
【发布时间】:2013-12-26 11:16:28
【问题描述】:

我有三个不同的表。

第一个表

第一个表是语言(id, language_name) // id 是主键。

第二张表

Second Table is verse(id,topic_id, verse_text) // id为主键,topic_id为外键。

第三张桌子

第三张表是 verse_translations(id, verse_id, language_id, translations_text) // id 是主键,language_id 是外键引用到语言表, // verse_id 是外键引用到 verse 表。

现在我的问题是。

如何在一个 MYSql 查询中获取带有诗句翻译和特定 topic_id 可用语言的诗句列表。

作为一个例子,我在下面给出。

verse_id | topic_id |    verse    |    verse_translation     |  language |

  1           1        verse here      translation here      English
                                       translation here      Spanish
                                       translation here      Japanese
                                       translation here      Italian

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 看看我发现了什么:dev.mysql.com/doc/refman/5.0/en/join.html
  • “该问题没有显示任何研究成果;不清楚或没有用”
  • 您需要哪种类型的研究?我问了一个简单的问题。我想得到我在表格中描述的结果。

标签: php mysql database select


【解决方案1】:

请参考此帖MySql Join three tables

根据需要进行更改。

【讨论】:

    【解决方案2】:

    我认为应该这样做:

    SELECT verse.id,
      verse.topic_id,
      verse.verse_text,
      verse_translations.translations_text,
      language.language_name
    FROM verse
      INNER JOIN verse_translations ON verse.id = verse_translations.verse_id
      INNER JOIN language ON verse_translations.language_id = language.id
    WHERE verse.topic_id = 1
    

    请记住,所有行都已填满。所以topic_id的列一直是1

    【讨论】:

    • 感谢 4 先生您的帮助,但上面的查询我可以写。我需要我在表格中描述的数据。
    • 您需要空单元格吗?不会发生。 PHP 可以帮你解决这个问题,但 MySQL 做不到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2014-06-10
    • 2016-01-07
    相关资源
    最近更新 更多