gpt4 book ai didi

sql - MySql If 语句

转载 作者:行者123 更新时间:2023-11-29 01:00:41 24 4
gpt4 key购买 nike

我有一个简单的表,用于记录管理员所做的简单事件。没什么复杂的。

其中一列是userid,因此我可以从用户表中引用用户名:

SELECT u.username FROM `users` u, `history` h WHERE u.userid = h.userid

我的问题是内部系统也记录事件(就像用户一样),但没有与内部系统相关的用户 ID。它在记录中简单地记录为零。

有没有办法修改查询以反射(reflect)这一点?我试过 LEFT JOIN,但这不允许我将“系统”指定为用户名。我能做的另一件事是在用户表中输入一个新用户,并将其称为“内部系统”。但我真的不想那样做。

是否可以从查询级别执行此操作?

最佳答案

使用:

   SELECT COALESCE(u.username, 'SYSTEM') AS username,
FROM HISTORY h
LEFT JOIN USERS u ON u.userid = h.userid

COALESCE 将返回第一个非 NULL 值,因此如果您 LEFT JOIN 到 USERS 并且 username 为 NULL——那么“系统”或您喜欢的任何内容都会出现.

关于sql - MySql If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com