gpt4 book ai didi

mysql - 帮助这个查询它显示重复的记录并且它不起作用?

转载 作者:行者123 更新时间:2023-11-29 14:43:21 25 4
gpt4 key购买 nike

我正在尝试编写一条 sql 语句来检索 user_id_user = '3' 和 status = '2' 的所有消息,但我收到重复的记录,我不知道为什么,我被困住了

My tables  are this 




message
id_message title content date user_id_user status
-------------------------------------------------------------

user
id_user name
----------------


message_has_user
message_id_message user_id_user
----------------------------------

我的mysql查询,但我得到重复的记录,我不知道为什么,我正在阅读教程,也非常感谢任何帮助

SELECT  
message.title,
message.content,
message.date,
message.id_message,
message_has_usuario.user_id_user,
message.status,
user.name
FROM
message ,
message_has_usuario
INNER JOIN user ON message_has_usuario.user_id_user = '3'
WHERE
message.status = '2'

最佳答案

您得到的是笛卡尔积,因为您没有准确地连接所有表。您正在加入 USER 和 MESSGAE_HAS_USERIO,但没有对 MESSAGE 进行任何加入

简单示例_我认为这些关系是正确的。

SELECT *
FROM Message M
INNER JOIN Message_Has_User MAU on M.MessageID = MAU.MessageID
INNER JOIN User U ON MAU.UserID = U.UserID AND U.UserID = M.User_Id_User
WHERE MAU.userID = '3'
AND M.Status = '2'

我既不认可也不承认我使用了 Select *。该死的,我什至写了它。/隐藏

关于mysql - 帮助这个查询它显示重复的记录并且它不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7535156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com