Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

INTERSECT

指定された 2 つのセットの両方にある要素で構成されたセットを返します。オプションで、そのセットにある重複を除外します。

返りタイプ

この関数は、セットを返します。

構文および詳細

INTERSECT(set_expression1, set_expression2, ALL)

または、以下のようにします。

INTERSECT(set_expression1, set_expression2)
  • set_expression1 および set_expression2 は、セットに対して評価される式です。

  • オプションのキーワード ALL が含まれている場合、これは、2 番目のセットにあるすべての重複を保持することを指定します。既定では、返されたセットに、重複する要素が含まれている場合、それらのうち最初の要素のみが含まれます。

    このキーワードは、最初のセットにある重複には影響しません。

2 つの名前付きセットを定義する以下のクエリを考えてみます。

WITH SET set1 AS '{allerd.eggs,allerd.soy,allerd.wheat,allerd.wheat}' 
SET set2 AS '{allerd.[dairy products],allerd.pollen,allerd.soy,allerd.wheat}' 
SELECT MEASURES.[%COUNT] ON 0, INTERSECT(set1,set2) ON 1 FROM patients
                             Patient Count
1 soy                                   462
2 wheat                                 479

一方、ALL キーワードを使用している以下のバリエーションを考えてみます。

WITH SET set1 AS '{allerd.eggs,allerd.soy,allerd.wheat,allerd.wheat}' 
SET set2 AS '{allerd.[dairy products],allerd.pollen,allerd.soy,allerd.wheat}' 
SELECT MEASURES.[%COUNT] ON 0, INTERSECT(set1,set2,ALL) ON 1 FROM patients
                             Patient Count
1 soy                                   462
2 wheat                                 479
3 wheat                                 479

最後になりますが、より関心のあるセットを引数として使用することも、もちろんできます。以下はその例です。

WITH SET set1 AS 'TOPCOUNT(homed.city.members,5,MEASURES.[avg allergy count])' 
SET set2 AS 'TOPCOUNT(homed.city.members,5,MEASURES.[avg age])' 
SELECT MEASURES.[%COUNT] ON 0, INTERSECT(set1,set2) ON 1 FROM patients
                             Patient Count
1 Centerville                         1,155
2 Magnolia                            1,156

関連項目

FeedbackOpens in a new tab