0

テーブルでの複数の自己結合の代わりが必要です。SQLのテーブルでの自己結合の最大制限は何ですか?

次のような列を持つテーブル table_1 があります。

uid number(10),
a_name nvarchar(20),
aaId number (10),

uid と aaId の組み合わせに一意の制約があります。

テーブルに存在するデータは似ています。aaId ごとに約 90 の Uid があります。

今私のクエリは

select aaId from table_1 
  inner join table_1 t1 on t1.uid=9 and t1.a_name like 'a'  
  inner join table_1 t2 on t2.uid=8 and t2.a_name like 'ab'  
  inner join table_1 t3 on t3.uid=7 and t3.a_name like 'ac'

私の問題は、内部結合の数が 90 に増えたことです。テーブルの行は約 200 万なので、このクエリは機能します。または、この多数の自己結合を置き換えるために他にできることがあれば。

助けてください。

前もって感謝します。

4

2 に答える 2

0

まず、WHERE 部分を OR ステートメントで使用しないのはなぜですか。

select aaId from table_1 
WHERE (table_1.uid=9 and table_1.a_name like 'a') OR 
(table_1.uid=8 and table_1.a_name like 'ab') OR
(table_1.uid=7 and table_1.a_name like 'ac')
于 2012-09-03T18:36:23.097 に答える