簡體   English   中英

如何在另一個子查詢中使用一個子查詢的結果集

[英]How to use result set of one sub query in other sub query

我有以下mysql查詢:

SELECT 
    ec.id, 
    ec.name, 
    gecr.Group_Id, 
    (SELECT 
        COUNT(DISTINCT c.ID) 
        FROM containers c 
        WHERE c.group_id IN (
                    SELECT g.ID AS Group_id FROM (group_master g) 
                    INNER JOIN group_user_reln gur ON g.ID = gur.group_id
                    WHERE gur.user_id =  91))
        AS group_count
    FROM 
        exam_category ec 
    INNER JOIN 
        group_exam_category_reln gecr ON gecr.Exam_category_Id = ec.ID 
    WHERE 
        ec.InActive_YN =  'N' 
        AND gecr.Group_Id IN 
        (SELECT g.ID AS Group_id FROM (group_master g) 
    INNER JOIN group_user_reln gur ON g.ID = gur.group_id
    WHERE gur.user_id =  91) 
    GROUP BY ec.id
    ORDER BY ec.name asc

在上面的查詢中,如何使用子查詢僅獲取一次組ID?

將變量聲明為表格

   DECLARE @ids TABLE (id INT)

用數據填充該表

  INSERT INTO @ids SELECT g.ID AS Group_id FROM (group_master g)

在查詢中使用它。 這是TSQL語法,但在MySql中應類似地工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM