mysql - 条件查询mysql

标签 mysql conditional-statements

我有这个 mysql 架构:

comments:
    -----------------------------
    |id|pageid|userid|

members:
    -----------------------------
    |username|userid|

有时评论的userid为空,导致匿名评论。 如果评论中的用户 ID 不为空,我如何从成员那里获取用户名。

我需要得到这样的东西:

---------------------------
|id|pageid|userid|username|
---------------------------

编辑。我想尝试更具体。

comments:
    ----------------------------------
    |id|pageid|userid|comment        |   
    ---------------------------------- 
    |1 |1     |1     | hi            |
    ---------------------------------- 
    |2 |1     |      | annon comment |

members:
    -----------------------------
    |username|userid            |
    -----------------------------
    |john    |1                 |

这是一个示例数据,现在我需要得到这样的东西:

    -------------------------------------------
    |id|pageid|userid|comment        |username|  
    ------------------------------------------- 
    |1 |1     |1     | hi            |john    |
    ------------------------------------------- 
    |2 |1     |      | annon comment |        |

抱歉我的英语不好。

最佳答案

SELECT c.PageId,c.UserId, m.UserName FROM comments as c
LEFT OUTER JOIN members m ON c.userid = m.userid

LEFT JOIN 获取右表中没有匹配项的字段。

关于mysql - 条件查询mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3969863/

相关文章:

matlab - 如何在一个等价语句中包含多个条件?

mysql select查询直到达到条件

mysql - Liquibase 为 mysql 导入 sql 文件在多个语句上失败

mysql - MySql 中的 aes_encrypt 而不在 sql 中使用 aes_encrypt

mysql - 如何使用 REPLACE() 替换 mysql SELECT 查询中 1 列中的多个值?

linux - 根据 SSID 停止 ssh 和 smbd 的 Bash 脚本

python - 如何根据多个先前值的 pandas 条件计算新列

python - 根据另一列更改 pandas 列

javascript - 如何仅从数据库调用 data.addrow 到谷歌图表

mysql - 在 MySQL 中自定义排序的累积总和