Sql 如何从多对一关系数据结构中查询唯一记录列表?

Sql 如何从多对一关系数据结构中查询唯一记录列表?,sql,Sql,我在SQL server中找不到合适的查询。我有一个departmentTable A,它有许多clientsTable B数据结构。我正在寻找一个只检索一个clientfirst(客户状态为活动状态的每个部门)的查询。有什么帮助吗 像这样试试看 SELECT * FROM Table1 AS T1 WHERE EXISTS ( SELECT * FROM Table2 as T2 WHERE T1.Column1 = T2.Column

我在SQL server中找不到合适的查询。我有一个departmentTable A,它有许多clientsTable B数据结构。我正在寻找一个只检索一个clientfirst(客户状态为活动状态的每个部门)的查询。有什么帮助吗

像这样试试看

SELECT * 
FROM Table1 AS T1 
WHERE 
    EXISTS 
    (
        SELECT * FROM Table2 as T2 
        WHERE T1.Column1 = T2.Column1 AND Column2 = 1
    )
    AND EXISTS
    (
        SELECT * FROM Table2 as T2 
        WHERE T1.Column1 = T2.Column1 AND Column2 = 2
    );
然后您可以尝试使用

返回结果分区内行的序列号 设置,从每个分区中第一行的1开始

差不多

;WITH Vals AS (
        SELECT  d.*,
                c.*,
                ROW_NUMBER() OVER(PARTITION BY d.departmentid ORDER BY <SOME ORDER FIELDS>) RowID
        FROm    department d LEFT JOIN
                clients c   ON  <SOME JOIN CONDITION>
                            AND c.[Status] = 'Active'
)
SELECT  *
FROM    Vals
WHERE   RowID = 1

您正在使用哪些关系数据库管理系统?Microsoft SQL。谢谢第二栏指的是什么?感谢您根据您的情况回复。我只是把它当作样品