2

別のテーブル( Words )からの重複する単語のIDを含むSQL Serverデータベーステーブル(DuplicateIds )があります。DuplicateIdsテーブルのデータの例を次に示します。

        word_id  |  word
----------------------------------
        244      |  ape
        603      |  ape
       1873      |  ape
        372      |  banana
       3095      |  banana

...等々。多くの場合、重複は2つか3つだけですが、重複が10以上の場合もあります。

次に、このテーブルを重複して使用して、同じ単語のIDを接続する新しいテーブルを作成します。新しいテーブルは次のようになります。

        word_id  |  connected_id
----------------------------------
        244      |    603
        244      |   1873
        603      |    244
        603      |   1873
       1873      |    244
       1873      |    603
        372      |   3095
       3095      |    372

このテーブルを使用すると、IDを使用して特定の単語を検索し、同じであるすべての単語のIDを取得できます。

DuplicateIdsのデータを使用して、この新しい接続テーブルを生成する(T)SQLステートメントを記述できるかどうか疑問に思います。

4

2 に答える 2

4

これはそれを行う必要があります:

SELECT
   di.word_id
  ,di2.word_id  connected_id
 into NewTable
 from DuplicateIds di
  inner join DuplicateIds di2
   on di2.word = di.word
    and di2.word_id <> di.word_id
于 2012-05-31T13:48:48.470 に答える
0

これを試して。SQLServerでどのように等しくないかわかりません。

 INSERT INTO DuplicateIds 
 SELECT a.word_id, b.word_id  connected_id
 from Words a,Words b
 where a.word=b.word
 and a.word_id <> b.word_id
于 2012-05-31T13:49:27.190 に答える