php - Mysql 内连接/一个查询中的多个选择?

标签 php mysql sql

大家好!

我正在编写留言簿的脚本(为每个用户个性化)。我有一张用于用户的表,另一张用于留言簿的表。现在,我当前显示帖子作者姓名的方式并不是最佳的。我只是在数据库中有一行“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";

我想我需要喜欢...在不同的条件下但在同一查询中选择名称。但我不知道怎么办。

希望您能理解我的问题。 非常感谢您的帮助!

/贾福尔

最佳答案

假设您的 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"

我所做的只是给 user 表起别名(如 u),并引用 u.username 而不是您之前的 fromname。

关于php - Mysql 内连接/一个查询中的多个选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20301123/

相关文章:

php - 组合这两个 sql 查询时出错

php - 在 ubuntu 14.04 上安装 Homestead 时“vagrant up”不起作用

javascript - 即使数据库连接已定义,Ajax 调用也会返回 Class 'db' not found 错误

mysql - 离开加入具体条件请帮助

php - 在数据库中添加2组数组

php - 定义 Magento 类名称的字符串的名称

mysql - 如何降级XAMPP中的phpmyadmin

MySQL 选择 1 AS sort_col : is there is a column for 1?

sql - 有条件的 Group By CASE 语句

mysql - 如何从 2 个表中获取 MySQL 的排名?