帮助用JOIN搜索MYSQL数据库 - 可能是自己的JOIN?

时间:2010-02-12 22:29:33

标签: mysql ruby-on-rails

在视图中,我有一个用户组合表来组合来自多个数据库表的数据。重要的表格是用户和邀请。我正在进行加入

LEFT JOIN invitations ON (users.id = invitations.invitee_id)

这使我可以访问users.invitee_id,但我的查询中也有动态搜索参数,我无法通过电子邮件搜索邀请者,因为邀请者电子邮件是通过使用与用户表连接的invitee_id来确定的ID。

如何通过电子邮件搜索邀请者?

继承整个查询

    ["SELECT users.id, users.login, users.email, invitations.inviter_id, FROM users 
      LEFT JOIN invitations ON (users.id = invitations.invitee_id)
      WHERE (users.email LIKE ? OR users.id LIKE ? OR users.login LIKE ?)",
      "%#{params[:search]}%","%#{params[:search]}%","%#{params[:search]}%"]

模式

用户:id,登录,电子邮件

邀请:id,inviter_id,invitee_id

1 个答案:

答案 0 :(得分:1)

再次加入用户

 .... LEFT JOIN users u2 ON (invitations.inviter_id = u2.user_id) 
 WHERE ... AND u2.user_name =[your condition]