我正在写一个在线聊天,我有两个对象,聊天室和聊天用户。 1个聊天室可以包含许多聊天用户。
SELECT Chatrooms.created_dt,
Chatrooms.description,
ChatUser.first_name,
ChatUser.last_name,
ChatUser.email
FROM Chatrooms
LEFT JOIN ChatUser
ON ChatUser.room_id = Chatrooms.id
WHERE Chatroom.status = 1
这将为我提供像
这样的行2011-09-08 , I need serious help , daffy, duck, daffy@loony.com
2011-09-08 , I need serious help , donald, duck, donjuan@disney.com
2011-09-08 , I need serious help , darkwing, duck, darkcape@aol.com
显然,我希望避免每一行都重复聊天室信息。但是,我还想避免运行多个查询。我只有dbs的基本经验,而且mysql没有foriegn键(不知道这对我有什么帮助),我不确定有什么更好的选择。
在这种情况下,我能做些什么,或者只是不担心重复的列?
答案 0 :(得分:0)
据我所知,我不相信有一种方法可以选择您尝试实现的信息,而无需运行两个查询或重复某些信息。
我的意思是你所要做的就是要求数据库在相同的查询中获取有关聊天室和聊天用户的信息...除非你能找到一种方法在一张纸上写出来每行的列和数据类型相同,可能是不可能的。
所以说,你可能只是忽略每一行中的重复数据来实现你的目标。