我正在进行的传奇尝试直接在数据库中做事而不是使用一些php逻辑,另一个问题。
例如:我有一张表:m/ id | by | msg
一个id,由谁来完成,消息是什么。 by
字段是连接到另一个存储名称的表的整数。通常我会加入两个表:
SELECT m.id, m.msg, user.name FROM m LEFT JOIN user ON m.by = u.id
由此产生的关系,例如:
1 | Hello World | Richard
2 | Foo Bar | Some else
3 | Howdy | Richard
我是理查德,有user.id=4
是否可以将结果关系显示you
而不是符合Richard
的{{1}}?
答案 0 :(得分:4)
SELECT m.id, m.msg, IF(user.id = 4, 'you', user.name) AS name
FROM m LEFT JOIN user ON m.by = user.id
答案 1 :(得分:3)
这样做:
SELECT m.id, m.msg,
(case when user.id = 4 then 'You'
else user.name end) as username
FROM m LEFT JOIN user ON m.by = u.id