大家好!

我正在编写留言簿(针对每个用户个性化)。我有一个供用户使用的表,而有一个供访客使用的表。现在,我当前显示帖子作者姓名的方式不是最佳的。我只是在数据库中有一行“ fromname”,即作者姓名。
我想根据作者ID选择作者姓名,并在“用户”表中将其与他们的姓名匹配。

所以...这是我现在的mysql查询:

$sql = " SELECT
             pid,toid,fromid,message,fromname,name,pdate,flag
         FROM gbook INNER JOIN users
         ON id='{$_GET['id']}'
         WHERE toid='{$_GET['id']}'
         ORDER BY pdate DESC";


我想我需要...在不同条件下但在同一查询中选择名称。但是我不知道如何。

希望你能理解我的问题。
帮助将不胜感激!

/ Jafool

最佳答案

假设您的users表具有名为username的列,则应执行以下操作:

SELECT
    pid,
    toid,
    fromid,
    message,
    u.username,
    name,
    pdate,
    flag
FROM gbook INNER JOIN users u
  ON id='{$_GET['id']}'
WHERE toid='{$_GET['id']}'
ORDER BY pdate DESC"


我所做的只是为用户表添加别名(如u),并引用了u.username而不是之前的fromname。

09-29 20:42