我有一个在 mysql 下运行良好的查询,我需要将此查询转换为也可以运行,如下所示:
SELECT u.*,
ju.username,
ju.email,
ju.lastvisitDate as last_login,
team_leader.first_name as leader_first_name,team_leader.last_name as leader_last_name,
team.leader_id as leader_id,
IF(team.name!='',team.name,team_leader.first_name || ' ' || team_leader.last_name) AS team_name
FROM bpfsz_users AS u
LEFT JOIN bpfsz_users AS ju ON ju.id = u.id
LEFT JOIN bpfsz_teams AS team ON team.team_id = u.team_id
LEFT JOIN bpfsz_users AS team_leader ON team_leader.id = team.leader_id
在 postgreSQL 下查询失败,并显示错误消息“函数 if(boolean,character Varying,text) does not exit”
如何在 mysql 和 postgresql 中执行此查询?
提前致谢
最佳答案
Postgresql 区分大小写。
您写道:“在 bpfsz_users 的表定义中,该列名为 lastvisitDate”
因此您必须将该列引用为:ju."lastvisitDate"
只需检查案例即可。
if 必须转换为:
CASE team.name
WHEN '' THEN team_leader.first_name || ' ' || team_leader.last_name
ELSE team.name
END AS team_name
关于php - 将 mysql 查询转换为与 postgresql 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27185133/