php - 将 mysql 查询转换为与 postgresql 一起使用

标签 php mysql postgresql

我有一个在 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/

相关文章:

php - 使整个表格单元格触发相关复选框

sql - 从一系列日期中获取所有前 5 个 id(数组)

sql - 如何从不同的列中选择多个整数数据并将它们合并到数组整数的单列中

ruby-on-rails - 如何在不加载所有记录的情况下从按特定属性排序的数据库中获取 "next"记录?

php - 应用 PHP 代码后查找/替换

PHP 系统返回 127 错误代码

php - 数据库:select Laravel 5 how to pass query results to my posts

python - sqlalchemy 中是否有一种解决方法可以在没有任何主键的情况下从数据库加载表?

php - Doctrine Proxy 不初始化

php - 如何用PHP和MySQL显示日期和时间?