Sql 一个表的记录关联在另一个表中 我有:
两个数据库表:Sql 一个表的记录关联在另一个表中 我有:,sql,ruby-on-rails,Sql,Ruby On Rails,两个数据库表: Users: id, title Infos: id, type, user_id_createdby, user_id_addressedto, text 在Infos中,我有设置用户之间会议日期的记录: 除了下次会议,我还有其他类型的用户之间的数据 当一个用户登录时,我会向他显示一个与他有过会议的用户列表,通过收集:unique User\u id\u addressed to和current\u User=>User\u id\u createdby 从Info到数
Users: id, title
Infos: id, type, user_id_createdby, user_id_addressedto, text
在Infos中,我有设置用户之间会议日期的记录:
除了下次会议,我还有其他类型的用户之间的数据
当一个用户登录时,我会向他显示一个与他有过会议的用户列表,通过收集:unique User\u id\u addressed to和current\u User=>User\u id\u createdby
从Info到数组@repilents,然后是User.find:all,:conditions=>{:id=>@repilents}
问题:
如何从Infos.text按日期对用户列表进行排序,其中键入:nextmeeting?
比如:
用户4-2011/01/05
用户8-2011/01/13
用户2-2011/01/21
用户5-未定义下一次会议
用户3-未定义下一次会议
如果确定Infos中只有一行具有nextmeeting类型,则可以使用左外部联接将用户链接到会议:
@users = User.joins("LEFT OUTER JOIN infos ON infos.user_id_createdby = users.id")
要按降序日期订购:
@users = User.joins("LEFT OUTER JOIN infos ON infos.user_id_createdby = users.id").order("infos.text DESC")
下面是一些随机评论:
类型是保留字,不应将其用作列名http://stackoverflow.com/questions/2293618/rails-form-not-saving-type-field-newbie
将日期存储为文本会让你的生活变得困难
您可能需要重新考虑这个通用的infos专栏,并创建一个独特的会议模型
谢谢你,斯派克!1将不会有一次会议,而是未来的几个目标和一个目标,为列表中的每个用户绘制会议时间表。实际上列名不是type而是tip,我也遇到了这个保留字,只是为了更好的表达,在示例中使用了它。3我将日期存储在文本中,因为在此表中存储了其他用户交互,如注释。Hi Spike,我使用:@users=User.joinsLEFT OUTER-JOIN infoshkas ON infoshkas.User_id_createdby={current_User.id},其中infoshkas.tip='nvz'和User_id_addressedto=users.id,它正确地生成了所需的记录,我非常感谢你。但在这个版本中,仍然没有来自Infoshkas的pair user.nvz,只有来自用户的pair。恳请您帮助我解决这个问题。现在可以了吗?
@users = User.joins("LEFT OUTER JOIN infos ON infos.user_id_createdby = users.id").order("infos.text DESC")