在第二个查询中使用一个查询的值 sql

Using a value from one query in second query sql

SELECT AS, COUNT(*)
FROM Table1
HAVING COUNT(AS)>1
group BY AS;

这会产生结果

AS      COUNT
5       2

然后我想在另一个查询中使用 AS 值,只输出最终结果。这是possible.i在想什么吗。

SELECT * 
FROM 
TABLE 2 
Where AS =(
           SELECT AS, COUNT(*)
           FROM Table1
           HAVING COUNT(AS)>1
           group BY AS;
);

这称为子查询。为安全起见,您将使用 in 而不是 =(并且 as 是列的错误名称,因为它是 SQL 关键字):

SELECT * 
FROM TABLE2 
WHERE col IN (SELECT col
              FROM Table1
              GROUP BY col
              HAVING COUNT(col) > 1
             );

您的第一个查询也不正确,因为 having 子句在 group by.

之后

您可以使用带有 in 运算符的子查询:

SELECT *
FROM   table2
WHERE  AS IN (SELECT   AS
              FROM     table1
              GROUP BY AS
              HAVING   COUNT(*) > 1)