问题描述
我正在尝试在psql
中复制以下laravel
查询:
SELECT
DISTINCT
I.id,T.id,T.name,I.first_name,I.middle_name,I.last_name,I.dob,CASE WHEN NOT E.email IS NULL THEN '<<' ELSE '' END
FROM individuals AS I
LEFT JOIN titles AS T ON I.title_id = T.ID
LEFT JOIN individuals_emails_map AS IEM ON IEM.individual_id = I.id
LEFT JOIN emails AS E ON E.id = IEM.email_id;
当我使用查询生成器并写:
DB::table('individuals AS I')
->join('titles AS T','T.id','=','I.title_id')
->leftjoin('individuals_emails_map AS IEM','IEM.individual_id','I.id')
->leftjoin('emails AS E','E.id','IEM.email_id')
->distinct('I.title_id','T.name','I.first_name','I.middle_name','I.last_name','I.dob')
->select('T.id','I.dob')
->get();
...它工作正常,但是当我尝试插入CASE
行时:
DB::table('individuals AS I')
->join('titles AS T','I.dob',DB::raw("CASE WHEN NOT E.email IS NULL THEN '<<' ELSE '' END"))
->get();
...我收到以下错误:
Undefined table: 7 ERROR: missing FROM-clause entry for table "e"
我在做什么错了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)