2017-01-04 11 views
-1

私は以下の画像を2つ持っています。他のテーブルを設定するにはMYSQLのon IDで注文する

tb_user

enter user table

tb_user_connection

enter image description here

select * from tb_user_connection WHERE connection_type='a' 
AND user_id = '1' AND user_id <= connection_id 
union all 
select * 
from tb_user_connection t 
where user_id > connection_id 
and connection_type='a' and not exists (
select 1 
from tb_user_connection t1 
where t1.user_id = t.connection_id 
and t1.connection_id = t.user_id 
) 

ですからtb_user_connectionからレコードを取得したいのですが、 tb_user.first_nameで注文します。どのようにこのクエリを設定できますか?

+0

'connection_type'フィールドが画面キャプチャに表示されず、ロジックが明確ではありません。 –

+0

はい@TimBiegeleisen私は今それを取る – ImBS

答えて

1
SELECT * 
FROM 
    (select *,(select first_name fron tb_user where tb_user.id =tb_user_connection.user_id) as first_name_my from tb_user_connection WHERE connection_type='a' 
AND user_id = '1' AND user_id <= connection_id 
union all 
select *,(select first_name fron tb_user where tb_user.id=t.user_id) as first_name_my 
from tb_user_connection t 
where user_id > connection_id 
and connection_type='a' and not exists (
select 1 
from tb_user_connection t1 
where t1.user_id = t.connection_id 
and t1.connection_id = t.user_id 
)) dum 
ORDER BY first_name_my 

このクエリで試してください。

+0

あなたはSQL構文に誤りがあります。あなたのMariaDBサーバのバージョンに対応するマニュアルをチェックしてください。正しい構文はtbl_userの近くで使用してください。tbl_user.id = tb_user_connection.user_id)3行目のtb_nameのfirst_name_myとして – ImBS

+0

待ちます。あなたのapprochに従って変更してください。 –

+0

親愛なる私はtbl_userを使いました。それを変更し、あなたのtable_name tb_userを使用してください。私の更新されたSQLクエリでもう一度やり直してください。 –

関連する問題