微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IF SQL从MySQL到PostgreSQL的转换

我正在转换PHP脚本,因为数据库已从MysqL切换到Postgresql.

我知道PG没有IF功能,但是有CASE功能.转换此MysqL语句的最佳方法是什么?

  SELECT albums.id, 
         albums.albumname, 
         sum(if(((albums.id=allalbums.albumid) and 
             (allalbums.photoid=$photoid)),1,0)) as inalbum 
    FROM albums, allalbums 
GROUP BY albums.id 
ORDER BY albums.createdate desc

解决方法:

这样的事情应该起作用:

select 
  albums.id, 
  albums.albumname, 
  sum(
   case when ((albums.id=allalbums.albumid) and (allalbums.photoid=$photoid)) then 1
     else 0
   end
  ) as inalbum 
from albums,allalbums 
group by albums.id 
order by albums.createdate desc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐