【问题标题】:How to query multiple tables and collate data如何查询多表并整理数据
【发布时间】:2015-12-30 22:42:30
【问题描述】:

我正在尝试制作一个通知列表,其中显示来自多种不同内容类型的通知以及相应的数据库表。对于每种内容类型都有一个订阅表,其中包含我需要检索的相应订阅。这些表和相应的订阅表格如下

    --------------------------
    content type | subscriptions
    -------------+------------
     group       | subscribegroup
    -------------+------------
     discussion  | subscribediscussion
    -------------+------------
     forum       | subscribeforum
    -------------+------------
     thread      | subscribethread
    -------------+------------

我遇到的问题是每个内容订阅表的值的 id 都有不同的名称,例如

这就是我从一个内容中获取数据的方式,一个带有其各自订阅表的单个表,然后使用 UNION 但联合在数据库服务器上不是很重吗??

  SELECT *
FROM thread t
JOIN subscribethread s ON (t.threadid = s.threadid)
WHERE userid= $currentuserid

我将如何加入上述其他内容类型的多个实例?谢谢

【问题讨论】:

  • ON (t.threadid = t.threadid) 不工作,必须是 ON (t.threadid = s.threadid) ;)
  • 是的,谢谢刚刚修复它

标签: php mysql multiple-columns multiple-tables


【解决方案1】:

当我们需要将几个表中的列合并到一个(或多个)行时,我们会使用 JOIN。据我了解,您需要将来自不同表的行合并到一个结果表中。这种模式结构没有 UNION 替代方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多