私は時間から解決策を探していますが、cat get it。ダブルクロスの結果を持たないSQL Self Join
マイテーブル:
ID name value1 value2
1 Meyer 20 _
2 Schmitt 20 _
3 Berger _ 20
4 Chief _ 20
私のクエリ:
SELECT A.ID, A.name AS nameA, B.name AS nameB, A.value1
FROM table AS A INNER JOIN table AS B
ON A.value1 = B.value2
結果:
ID nameA nameB value1
1 Meyer Berger 20
1 Meyer Chief 20
2 Schmitt Berger 20
2 Schmitt Chief 20
これは、次のようになります。
ID nameA nameB value1
1 Meyer Berger 20
2 Schmitt Chief 20
どうすればこの結果が得られますか?
は、私はまた、GROUP BY A.nameを試してみましたが、間違った結果が得られます。
ID nameA nameB value1
1 Meyer Berger 20
2 Schmitt Berger 20
、私をたくさん助けましたか?おそらく、データベースの正規化について読むべきでしょう。 – fluffy
私はあなたがレコードをどのように関連づけているのか理解していません。 「value1」と「value2」の値がすべて20の場合、「Meyer」は「Berger」にのみ属し、「Schmitt」は「Chief」にのみ属しているとはどう思いますか? –
この作業を行うには、他の基準が必要です。たとえば、クエリはMeyer Bergerを返しますが、Meyer Chiefは返しません。 – Phil