我正在寻找一种方法将两个结果行连接在一起。
我有两张桌子:
设置表:
id | pop_setting1_id | pop_setting2_id
用户表:
user_id | setting_id
第一个表格中的 pop_setting1_id
和pop_setting2_id
指向第二个表格中的setting_id
我想要一个带有一个参数(id)的查询,并给出一行结果,如:
user_id as user_id_1 | user_id as user_id_2 | setting_id as setting_id1 | setting_id as setting_id2
来自用户表的两行,其中setting_id分别与pop_setting1_id或pop_setting2_id匹配。
用户表中的setting_id是唯一的,所以它肯定只有两个结果。我想要的只是重命名这些结果并将它们挤在一行中。请给我一些提示。
答案 0 :(得分:1)
试试这个::
Select
u1.user_id as user_id_1,
u2.user_id as user_id_2,
u1.setting_id as setting_id1,
u2.setting_id as setting_id2,
from
`settings` s
INNER JOIN `user` u1 on (s.pop_setting1_id=u1.setting_id)
INNER JOIN `user` u2 on (s.pop_setting2_id=u2.setting_id)
WHERE id=?