Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检索多次出现的行_Sql_Sql Server_Select - Fatal编程技术网

Sql 检索多次出现的行

Sql 检索多次出现的行,sql,sql-server,select,Sql,Sql Server,Select,假设我有表A和表B,它们之间的关系是1对多,如何仅检索A PK多次出现的行?在表B中作为FK?我不知道如何才能做到这一点。您可以将B行分组,并在a的子查询中对它们进行计数: 从B中选择fkey,count*,其中fkey中的fkey通过count*>1的fkey从组中选择PKY SELECT * FROM A WHERE A.pk IN (SELECT fk FROM B GROUP BY fk

假设我有表A和表B,它们之间的关系是1对多,如何仅检索A PK多次出现的行?在表B中作为FK?我不知道如何才能做到这一点。

您可以将B行分组,并在a的子查询中对它们进行计数:


从B中选择fkey,count*,其中fkey中的fkey通过count*>1的fkey从组中选择PKY

SELECT *
FROM   A
WHERE  A.pk IN (SELECT   fk
                FROM     B
                GROUP BY fk
                HAVING   COUNT(*) > 1)