我想连接两个表。一个表是组织,一个是人员,但是我希望MSSQL使用的所有组织只有第一个与组织合作的人。我在sql中尝试“前1”,但我没有成功。您是否可以尝试给我一个解决方案,以便只与一个第一人管理组织?
我试过这个解决方案:
SELECT Org.Org_ID,
Org.OrgName as 'Nazwa klienta',
ISNULL(Org.SIC,'') as 'Nazwa skrócona',
ISNULL( (Org.Address1+', '+ Org.Zip+ ', ' + Org.City),'') as 'Adres',
Person.LastName as 'Nazwisko',
Person.FirstName as 'Imię',
ISNULL(Org.Industry,'') as 'Branża',
ISNULL(Org.Comments,'') as 'Dostarczane wyroby i usługi'
FROM
Org INNER JOIN Person
ON Org.Org_ID = Person.Org_ID
WHERE
Person.Org_ID= (
SELECT MIN(Person.Org_ID)
FROM Person
WHERE Person.Org_ID = Org.Org_ID
) and (Org.OrgName IS not NULL)
我的Schema of Table是我有两个表Person和Org,我试图通过Person.Org_ID和Org.Org_ID连接它们。
答案 0 :(得分:1)
我不完全确定我理解这个问题,但以下内容可能有所帮助:
SELECT Org.Org_ID,
Org.OrgName as 'Nazwa klienta',
ISNULL(Org.SIC,'') as 'Nazwa skrócona',
ISNULL( (Org.Address1+', '+ Org.Zip+ ', ' + Org.City),'') as 'Adres',
Person.LastName as 'Nazwisko',
Person.FirstName as 'Imię',
ISNULL(Org.Industry,'') as 'Branża',
ISNULL(Org.Comments,'') as 'Dostarczane wyroby i usługi'
FROM Org
INNER JOIN (SELECT Org_ID, LastName, FirstName FROM Person
WHERE exists (
SELECT MIN(Person.Org_ID)
FROM Person
WHERE Person.Org_ID = Org.Org_ID) ) p
ON Org.Org_ID = p.Org_ID
WHERE Org.OrgName IS not NULL
注意:我在记事本中修改了查询,因此可能需要进行一些调整......
祝你好运。