Sql 如何从多对一关系数据结构中查询唯一记录列表?
我在SQL server中找不到合适的查询。我有一个departmentTable A,它有许多clientsTable B数据结构。我正在寻找一个只检索一个clientfirst(客户状态为活动状态的每个部门)的查询。有什么帮助吗 像这样试试看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
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。谢谢第二栏指的是什么?感谢您根据您的情况回复。我只是把它当作样品