簡體   English   中英

從表中選擇元素

[英]Select element from table Where something in Select

我有這個查詢

SELECT
    equipe_id
FROM
    user
GROUP BY
    equipe_id
HAVING
    COUNT(*) >= 5

它返回1和3。

我想使用上一個查詢來使用下一個查詢

SELECT
    name,
    location
FROM
    equipe
WHERE
    equipe_id IN ??? previous query result (1,3) ???

我希望這是有道理的。 謝謝

SELECT name
     , location 
  FROM equipe 
 WHERE equipe_id in (SELECT equipe_id FROM user GROUP BY equipe_id HAVING COUNT(*) >= 5);

我們也可以嘗試通過加入子查詢來做到這一點:

SELECT e1.name, e1.location
FROM equipe e1
INNER JOIN
(
    SELECT equipe_id
    FROM user
    GROUP BY equipe_id
    HAVING COUNT(*) >= 5
) e2
    ON e1.equipe_id = e2.equipe_id;

或者,也可以不使用內部子查詢來完成此操作,如下所示:

SELECT
    e.name,
    e.location
FROM
    equipe AS e
INNER JOIN
    user AS u ON u.equipe_id = e.equipe_id
GROUP BY
    e.equipe_id, e.name, e.location
HAVING
    COUNT(*) >= 5

暫無
暫無

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

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