【问题标题】:SQL - create relation to echo data from two tablesSQL - 从两个表中创建与回显数据的关系
【发布时间】:2013-01-19 23:59:06
【问题描述】:

我做了一些研究,但还没有找到实现这一目标所需的确切概念:

::: EDIT ::: 我最初的请求不清楚,所以我在这里再试一次

我有两张桌子,

table_01 有四列:id / name / address / id_cattable_02 有两列:id_cat / category

table_01table_02 中的id_cat 只是一个 INT(10),而 category 是一个 VARCHAR,应该包含类别的确切名称(很长)。我想要做的是,当在table_01 上进行查询时,回显显示table_01 的行作为结果,但不是将id_cat 显示为数字,而是显示来自table_02@987654337 的文本@。

结果如我所料,但是,例如在table_02 中,我有一行id_cat = 1 ,category = AAAAA,我想从@987654342 回显id_cat @ 作为来自table_02category,所以仍然例如,002 |站立 |市场街125号| AAAAA 而不是我现在得到的,即 002 |站立 |市场街125号| 1.

我还没有在两个表之间创建关系。

【问题讨论】:

    标签: php sql phpmyadmin relational-database echo


    【解决方案1】:

    如果我了解您的需求,您对数据的查询只需类似于:

    select t1.id as id, t2.category as category from tab_01 as t1
    left join tab_02 as t2 on t1.id_cat = t2.id_cat where t1.id = '5';
    

    5 显然是您在 tab_01 中寻找的 id。

    【讨论】:

    • 谢谢。在这种情况下,我是否理解不需要在此示例 tab_01 和 tab_02 的两个表之间创建任何关系?
    • 是的,您不需要直接创建关系,尽管这可能是可取的。无论您是否定义了两者之间的特定关系,您都可以在任何列上连接两个表。
    • 谢谢克里斯,我会从这里拿走。
    【解决方案2】:

    我不是很清楚你的问题。但我认为这会对你有所帮助。

    现在您已经在这两个表之间创建了一对多的关系。这意味着一个类别 (tab_02) 可以有多个 tab_01 数据。

    你可以试试这个查询:

    SELECT t1.id_cat AS id_cat_number, t2.* 
    FROM tab_02 t2 
    INNER JOIN tab_01 t1 ON t1.id_cat = t2.id_cat 
    WHERE t2.category = XXXXXXXX
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多