2016-12-14 35 views
0

我想根據它的關係獲取子查詢的結果作爲1或0的列。選擇是否存在子關係(子查詢)作爲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') 

查詢的其他作品,甚至與這仍然有效(只是始終是0甚至行,應該是1

我還沒有發現像這樣使用的EXISTS任何實例,但我還沒有找到用作列的任何選擇。

回答

1

你試過COUNT

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

它最終沒有被完全正確的,但我花了下來RI ght路徑,當使用原始查詢時,並不認爲某個類的輸出實際上不會轉義反斜槓。非常簡單,然後試圖強制'EXISTS'工作,謝謝。 –

+0

這一定是一種痛苦,找到:) –