4

これらの 2 つのテーブルを考えると、テーブル A1 には同じ値「a」を持つ 2 つの行があります。

A1
a
a

テーブル A2 には、主キー値 A、B を持つ 2 つの行があり、それらは「a」に関連付けられています

A2
PK col2
あ
バ

私が欲しいのは、この結果でA1とA2を結合することです

を
B

明らかに内部結合はここでは機能しません。SQL Server 2008 でこれを行う方法はありますか?

4

5 に答える 5

9

を使用して重複を一掃できますDISTINCT

select distinct
  A1.col1,
  A2.PK
from
  A1
  inner join A2
          on A1.col1 = A2.col2
于 2012-05-08T14:36:54.147 に答える
1

distinct制限されていない場合

SELECT DISTINCT a.*, b.pk
FROM    A1 a
INNER JOIN A2 b ON (a.[test] = b.fk)
于 2012-05-08T14:37:14.140 に答える
0

「そして、distinct を使用して重複する値を制限します。」少なくとも Postgres 9 以降では DISTINCT は既存の重複を排除しますが、その出現を防止または制限しません。

于 2016-12-27T04:26:58.347 に答える
0

投稿には結合条件がないため、クロス結合する必要があります。クロス結合を適用し、個別を使用して重複値を制限しました。

Select distinct A1.Col1, A2.Pk
From A1 ,A2 
于 2012-05-08T14:36:36.693 に答える