选择子关系(子查询)的存在为1/0列

时间:2016-12-14 22:18:43

标签: mysql laravel-5

我试图将子查询的结果作为基于其关系的1或0的列。

这也是一个沉重的报告,所以我想在初始查询后避免额外的查询。

DB::raw('EXISTS(
   SELECT 1 
   FROM issues 
   WHERE time.id = issues.parent_id 
      AND parent_type = \'' . TimeRecord::class . '\' 
      AND deleted_at IS NULL
   ) AS flagged')

查询的其余部分可以工作,即使这仍然有效(即使对于应该为1的行,也总是为0。

我没有找到像这样使用的EXISTS的任何实例,但我没有找到任何用作列的替代方法。

1 个答案:

答案 0 :(得分:1)

你试过COUNT吗?

SELECT COUNT(*)
FROM issues 
WHERE time.id = issues.parent_id 
   AND parent_type = \'' . TimeRecord::class . '\' 
   AND deleted_at IS NULL