2016-08-24 12 views
0

私は1つのテーブルA_Bマッピングを持っています。今私は単一のBにのみ関連しているものを欲しい。マッピングテーブルから結果を順番に返すためのMysqlクエリ

A B 
12 16 
12 22 
12 23 
12 26 
23 16 
24 26 

私はそのB = 16と関連しているAを検索する場合と仮定し、私は12と23 A. を得るでしょう。しかし、それは唯一のB = 16と関連していると私は23をしたいです。

第2の選択肢は最初に23番目になる可能性があります。次に12が発生します。 したがって、1つの関連項目が優先され、複数の関連が発生します。

答えて

0

1.

select A 
    from test4 T1 
where B=16 
    and not exists(select 1 from test4 T2 
        where T2.A=T1.A and T2.B<>T1.B) 

2.

select A 
    from test4 T1 
where B=16 
order by exists(select 1 from test4 T2 
        where T2.A=T1.A and T2.B<>T1.B) 
+0

ありがとうマイクは、チャームのように働いていた!!!! – sachin

0

あなたはこのことですか?

Select A FROM A_B where B IN (Select B FROM A_B where A=12) and A<>'12' 
関連する問題