在PHP查询中难以连接3个表

phpdrivesmemad

我的数据库有3个表,我希望在选择查询中访问这些表,但似乎无法正常工作。从2个表中进行选择可以很好地工作,因此我知道除了从3个表中进行选择的代码之外,其他所有功能都在起作用。我的数据库已在PHPmyadmin上创建

表格如下:

forum_replies

  • Reply_id
  • topic_id
  • 用户身份
  • Reply_text
  • 回复日期

forum_topics

  • topic_id
  • category_id
  • 用户身份
  • 主题标题
  • topic_description
  • topic_date

使用者

  • 用户身份
  • 用户名

这是我尝试使用的代码,并显示了我希望选择的字段:

    $queryreply = "SELECT forum_replies.reply_id, forum_replies.topic_id, forum_replies.user_id,
                       forum_replies.reply_text, forum_replies.reply_date, users.user_id, users.username
                       forum_topics.topic_id,forum_topics.topic_title, forum_topics.topic_date
                       FROM forum_replies
                       JOIN forum_topics
                       ON forum_replies.topic_id = forum_topics.topic_id
                       JOIN users
                       ON forum_replies.user_id = users.user_id

                       ";


        $result = mysql_query($queryreply) or die (mysql_error());
        $row = mysql_fetch_array($result); 

代码中的示例将不胜感激。谢谢

猛禽

使用此查询:

SELECT a.reply_text, a.reply_date, b.topic_title, c.username
FROM forum_replies a
LEFT JOIN forum_topics b ON a.topic_id=b.topic_id
LEFT JOIN users c ON a.user_id=c.user_id
// apply WHERE, ORDER, GROUP if needed

除语法错误外,您还应使用LEFT JOIN和表别名。


要同时显示主题创建者的用户名,您可以将查询调整为以下内容:

SELECT a.reply_text, a.reply_date, b.topic_title, c.username AS reply_user, (SELECT username FROM users WHERE user_id=b.user_id) AS topic_creator
FROM forum_replies a
LEFT JOIN forum_topics b ON a.topic_id=b.topic_id
LEFT JOIN users c ON a.user_id=c.user_id
// apply WHERE, ORDER, GROUP if needed

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从3+个连接了外键的表中查询数据?

来自分类Dev

在Codeigniter中连接3个表

来自分类Dev

与Entity Framework中的3个表连接

来自分类Dev

在 SQL 中连接 3 个不同的表

来自分类Dev

3 个表的 SQL 连接查询不起作用

来自分类Dev

sql select 3个表中的查询

来自分类Dev

MySQL在查询中组合3个表

来自分类Dev

连接2个表Mysql的查询中的计算

来自分类Dev

连接2个表Mysql的查询中的计算

来自分类Dev

SQL 在查询中连接三个表

来自分类Dev

连接表连接3个表?

来自分类Dev

PHP:在一个查询中的两个表

来自分类Dev

PHP:在一个查询中的两个表

来自分类Dev

在SQL查询中连接两个PHP变量

来自分类Dev

在SQL查询中连接两个PHP变量

来自分类Dev

用一个查询从3个表中删除

来自分类Dev

Oracle SQL - 2 个查询,连接 3 个表并划分一个列表而不重叠

来自分类Dev

查询从SQL中的3个表中检索信息?

来自分类Dev

从2个没有公共列要连接的表中插入带有选择查询的查询

来自分类Dev

如何在cakephp中连接3个表?(关系)

来自分类Dev

如何连接数据库中的3个表?

来自分类Dev

如何获取 3 个表连接中特定列的计数?

来自分类Dev

连接3个表-SQL

来自分类Dev

连接3个表MySQL

来自分类Dev

难以将这些SQL查询合并到phpMyAdmin中的1个查询中

来自分类Dev

在1个查询中查询3个表-错过最后一个

来自分类Dev

在1个查询中查询3个表-错过最后一个

来自分类Dev

SQL查询:连接两个表

来自分类Dev

连接查询以合并两个表