0

我正在尝试创建一个查询来检查字段的插入值。我正在尝试使用子查询来完成此操作,但被卡住了。我要完成的工作:

(message1) User1 says: Hello User2
(message2) ChatX says: User1, user2 said hello to you! 

我认为为了实现这一点,我需要在 like 语句中添加一个子查询。

SELECT chat.id, chat.userid, chat.message, user.userid, user.username 
FROM chat, user 
WHERE LOWER(message) LIKE CONCAT('hello ', (SELECT user.username FROM user WHERE XXX = user.username)) 
  AND chat.userid = user.userid

LIKE 语句中的 XXX 是某人打招呼的用户名。它应该在那里检查用户表以及消息是否与用户输出 ChatX 的行匹配。我的问题,我如何使 XXX 工作以及如何设置它?

4

1 回答 1

1
SELECT c.id, c.message,
       sender.userid, sender.username,
       receiver.userid, receiver.username
FROM chat c
JOIN user sender ON c.userid = sender.userid
JOIN user receiver ON LOWER(message) like CONCAT('hello ', receiver.username)
于 2013-05-21T16:00:06.863 回答