【问题标题】:Selecting data from two different tables of the same database in PHP/ MYSQL在 PHP/MYSQL 中从同一数据库的两个不同表中选择数据
【发布时间】:2019-02-09 05:57:42
【问题描述】:

我在数据库 QUIZ 中有 2 个不同的表 SECTIONSUBSECTIONSECTION 表有 2 列 section_idsection_title,而 SUBSECTION 表有 4 列 section_idsubsection_id(AI)、subsection_titlesubsection_detail。现在,我想要的是 section_title 但需要查询的表是 SUBSECTION 表,并在 section_id 的帮助下SUBSECTION 表,我们必须从 SECTION 表中获取 section_title

我已经尝试了这里给出的一些解决方案,但我不知道为什么这些对我不起作用。在这里的任何帮助将不胜感激。

【问题讨论】:

    标签: php mysql database web


    【解决方案1】:

    您可以使用IN 将一个查询的结果传递给另一个查询。

    也许这是一个想法:

    SELECT section_title FROM section WHERE section_id IN (SELECT section_id FROM subsection WHERE [some condition here to get the correct set of ids from subsection table])

    【讨论】:

    • 能否解释一下WHERE子句后面的部分?
    • 这将是您用于在小节表中查询的条件。我想它可能类似于subsection_id = 'some-id'subsection_title = 'some-title'。不过,值得一提的是,后者可能会返回多个结果,而不是第一个,后者通过 id 查询并且只返回一个结果。
    【解决方案2】:

    这应该适合你。它将选择 section_title 和 subsection 表中的所有内容。

    SELECT section.section_title, subsection.* FROM section, subsection WHERE section.section_id = subsection.section_id
    

    添加此项以返回特定部分:

    AND section.section_id = $id
    

    【讨论】:

    • 你能处理一下语法并在这里再次输入确切的查询,因为我又遇到了一些问题。
    • 如果我没记错的话,这是正确且有效的命令。 SELECT section.section_title, subsection.* FROM section, subsection WHERE section.section_id = subsection.section_id AND section.section_id = $id 观察。将 $id 替换为实际 id。
    • 这对我有用 $SELECT_QUERY = "SELECT section_title FROM section WHERE section_id IN (SELECT section_id FROM subsection WHERE subsection_id = '$THEORY_DI')";
    猜你喜欢
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    相关资源
    最近更新 更多