私はこのようになりますFieldList
と呼ばれるテーブルがあります。同じテーブルから複数の列を結合するには?
ElementName|Description|comp_id|FieldName
-----------------------------------------
Name | red | 1 | names
Name | blue | 7 | names
field | red | 1 | names
boxes | blue | 5 | blues
field | orange | 7 | reds
をそして私は同じ、その後、彼らはそれがこのように見えるために属するcomp_id
示しているElementNames
を示し、新たなテーブルを表示したいです:
ElementName| comp_id| comp_id
-----------------------------
Name | 1 | 7
field | 1 | 7
それは、まさにこのように見ているdoesntのが、ポイントは、私が参加して、同じであるが、異なるcomp_id
年代を持つElementNames
を表示できるようにしたいです。 これは私が既に持っているが、明らかに動作しないSQLコードの少しです。
SELECT a.comp_id, a.ElementName, b.ElementName
FROM FieldList a
INNER JOIN FieldList b ON a.ElementName = b.ElementName;
類似した要素名はいくつありますか?最大数がわからない場合、これを解決するには動的SQLが必要です。 –
これはなぜ機能しないのですか?どうしたの? –
これは、 "select a.comp_id、a.elementName from ..."と同じです。それはそれ自体の上のequijoinです。有限個の値がある場合、または論理的に上限があることがわかっている場合は、満たすためにクエリを作成できます。 elementNameの可能な値の数を知ることができれば、このソリューションを表示することができれば幸いです。 –