0

我正在寻找一种将两个结果行连接在一起的方法。

我有两张桌子:

设置表:

id | pop_setting1_id | pop_setting2_id

用户表:

user_id | setting_id

pop_setting1_idpop_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 匹配。

user表中的setting_id是唯一的,所以肯定只有两个结果。我想要的只是重命名这些结果并将它们排成一行。请给我一些提示。

4

1 回答 1

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=?
于 2013-01-19T06:54:40.300 回答