Я пишу простое приложение чата. Представьте, что когда Michael
нажимаете John
, я должен показывать сообщения, которые эти сообщения отправляют на John
и получают от John
.
Я продолжу к проблеме, сначала посмотрите структуру БД, пожалуйста.
CREATE TABLE Users(
Id INT PRIMARY KEY IDENTITY(1,1),
Email NVARCHAR(50) NOT NULL,
LastEntryTime DATETIME DEFAULT(GETDATE()),
IP NVARCHAR(15) NOT NULL
)
CREATE TABLE MessageContent(
Id INT PRIMARY KEY IDENTITY(1,1),
MessageContent NVARCHAR(MAX) NOT NULL,
Size BIGINT NOT NULL,
)
CREATE TABLE Messages(
Id INT PRIMARY KEY IDENTITY(1,1),
Id_Sender INT FOREIGN KEY REFERENCES Users(Id),
Id_Receiver INT FOREIGN KEY REFERENCES Users(Id),
Id_MessageContent INT FOREIGN KEY REFERENCES MessageContent(Id),
SentAt DATETIME NOT NULL,
CHECK(Id_Sender != Id_Receiver)
)
В этом запросе я беру все сообщения, которые отправляет John
. Но я хочу принимать сообщения, которые отправляются на John
с Michael
и получают с John
на Michael
.
SELECT MessageContent,Users.Id FROM MessageContent,Messages,Users
where users.Id = Messages.Id_Sender and MessageContent.Id = Messages.Id_MessageContent
and users.Email='mailofJhon.com'
С этим запросом я не получил правильный результат. Я знаю, что это незаконченный запрос.
Но не знаю, как мне продолжить этот запрос.
Что я могу сделать?