0

我正在从 WIP 和 Employee 表中查询数据:

在制品 ID、名称

员工 ID、姓名、组织

加入两者我可以查询:

select w.ID,e.Organization,w.ConsultantName,e.OrganizationID, w.ConsultantID
from vwWIPRecords w
inner join vwEmployees e on w.ConsultantID=e.ID; 

结果:

1   VHAA    Web User    1   1
2   VHAA    NZ RP       1   3
3   VHAA    Ghom Mure   1   2
4   VHAA    Ghom Mure   1   2

要求:

在查询中添加将按 e.Organization 和 e.ConsultantName 连接和分组的另一列,但它仅用于第一个唯一记录。对于下一个(名称和组织相同),它不会显示任何内容。此列将显示公司的独特顾问。请参阅第二个示例中的记录号 3 和 4。

1   VHAAWeb User    1   1
2   VHAANZ RP       1   3
3   VHAAGhom Mure   1   2
4                   1   2

非常感谢你的帮助

4

1 回答 1

1

这是一个开始。最后一列是一个标志,指示该行应为空白。让我知道到目前为止这是否对您有用,我可以提供进一步的帮助。

select w.ID,e.Organization, w.ConsultantName,
e.OrganizationID, w.ConsultantID, CASE WHEN D.Dup > 1 AND D.ID <> w.ID THEN 'Y' 
ELSE 'N' END As HideMe
from vwWIPRecords w
inner join vwEmployees e on w.ConsultantID=e.ID
inner join
(
   select MIN(w.ID) As ID,  e.Organization,w.ConsultantName,
   e.OrganizationID, w.ConsultantID, COUNT(*) AS Dup
   from vwWIPRecords w
   inner join vwEmployees e on w.ConsultantID=e.ID
) D
ON  D.Organization  = w.Organization 
AND D.ConsultantName = w.ConsultantName
AND D.OrganizationID = w.OrganizationID
AND D.ConsultantID = w.ConsultantID
于 2013-05-08T00:10:10.327 回答