我需要在 MS-SQL 数据库中过滤带有关系表的表。
我得到:
persId persName1 catId
4 Hans 0
4 Hans 51
4 Hans 73
5 Torleif 0
5 Torleif 5
5 Torleif 73
5 Torleif 76
6 Peter 0
6 Peter 51
6 Peter 73
7 Jonas 0
7 Jonas 16
7 Jonas 73
和:
SELECT distinct tblPerson.persId
, tblPerson.persName1
, relCatPers.catId
FROM tblPerson LEFT OUTER JOIN
relCatPers ON tblPerson.persId = relCatPers.persId
但是我需要。删除 catId 为 51 的那些。并且名称和 ID 仅出现 1 次:
persId persName1
5 Torleif
7 Jonas
桌子:
CREATE TABLE [dbo].[tblPerson](
[persId] [int] IDENTITY(1,1) NOT NULL,
[persName1] [varchar](255) NULL,
CONSTRAINT [PK_tblPerson] PRIMARY KEY CLUSTERED
)
CREATE TABLE [dbo].[relCatPers](
[rcpId] [int] IDENTITY(1,1) NOT NULL,
[catId] [int] NOT NULL,
[persId] [int] NOT NULL,
CONSTRAINT [PK_relCatPers] PRIMARY KEY CLUSTERED
)