0

2 つの結果行を結合する方法を探しています。

私は2つのテーブルを持っています:

設定表:

id | pop_setting1_id | pop_setting2_id

ユーザーテーブル:

user_id | setting_id

pop_setting1_idおよび最初のテーブルで 2 番目のテーブルpop_setting2_idを指すsetting_id

1 つのパラメーター (id) を取り、次のような 1 つの行の結果を返すクエリが必要です。

user_id as user_id_1 | user_id as user_id_2 | setting_id as setting_id1 | setting_id as setting_id2

user テーブルの 2 つの行から作成されます。ここで、setting_id はそれぞれ pop_setting1_id または pop_setting2_id と一致します。

user テーブルの Setting_id は一意なので、2 つだけの結果になることは確実です。私が望むのは、これらの結果の名前を変更して、それらを 1 行に絞り込むことだけです。ヒントを教えてください。

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 に答える