У меня есть три таблицы: Complaint, ComplaintDetail и Person.
create table Complaint (
id int identity(1,1) primary key,
complaintName varchar(50),
datetime datetime,
place nvarchar(MAX),
declarantName nvarchar(50),
detail nvarchar(MAX),
verifyStatus bit /* approved or not */
)
go
create table ComplaintDetail (
id int identity(1,1) primary key,
personId int,
constraint cdp foreign key (personId) references Person(id),
compId int,
constraint cpc foreign key (compId) references Complaint(id),
crimeType nvarchar(50)
)
go
create table Person (
id int primary key,
name nvarchar(50),
gender bit NOT NULL,
dob date,
address nvarchar(MAX),
image varchar(100),
nationality varchar(50),
job varchar(20),
alive bit DEFAULT 1
)
Я хочу создать процедуру SELECT , чтобы найти все жалобы, которые не ссылка с этим Person.id
Я пробовал что-то подобное, но это не работает.
CREATE PROC findExcludedComplaints
@personID int
AS
BEGIN
SELECT * FROM Complaint
INNER JOIN ComplaintDetail ON Complaint.id = ComplaintDetail.compId
INNER JOIN Person ON ComplaintDetail.personId != Person.id
WHERE Person.id = @personID
END
GO