【问题标题】:How to transfer a lot of values beteen tables in a variable or array?如何在变量或数组中的表之间传输大量值?
【发布时间】:2013-09-01 05:48:09
【问题描述】:

我有两个 SQL 表。第一个结构简单。

ID    Name
----------

第二个也很简单。

CommentID     Comment    CreatorID
----------------------------------

我想在我的网站上显示与“用户 ID”对应的所有 cmets

问题是我们这里有很多 ID 和两个不同的表。

类似这样的:

$1= $bdd->query("SELECT * FROM comments WHERE id_user=220281");
$2=$1->fetch();

但这是不可能的,因为 id user 不在 cmets 桌子上。

【问题讨论】:

  • 您说您在 cmets 表上有“评论创建者的 ID”... 为什么不使用它?
  • 这只是一个例子.....想象一下我不想使用它
  • 想象一下,只要你问得好,数据库就会做任何你想做的事情

标签: php mysql arrays variables


【解决方案1】:

最简单的方法是像这样连接表:

select
    users.name,
    comms.commentID,
    comms.comment
from
    userTable users
        join commentTable comms
            on users.ID=comms.ownersID
where
    users.id=1

这将返回每行数据中的用户名,但您不需要在输出中多次使用它。

听起来您也可以在 SQL 查询中使用一些指针。帮自己一个忙,稍后再have a read of this article I put together

【讨论】:

  • 我不确定他问的是什么
  • @BorisDetry 我在答案中链接了一个冗长的文档。去读一读吧。它会解释很多你可能想知道的事情。
【解决方案2】:
SELECT c.* 
  FROM comments c
 INNER JOIN users u ON c.id_creator = u.id_user AND 
                       u.id_user = 220281

【讨论】:

    【解决方案3】:

    一个简单的连接就可以做到这一点:

    SELECT c.comment, u.user_name FROM 
        Users u 
    JOIN
        Comments c ON 
        c.creator_id = u.user_id
    WHERE 
        u.user_id=220281
    

    小提琴:http://sqlfiddle.com/#!6/3b28a/1

    【讨论】:

      猜你喜欢
      • 2014-10-11
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2018-02-24
      • 2014-01-08
      • 1970-01-01
      相关资源
      最近更新 更多