-1

SQLクエリを使用してフィルターを作成しようとしていますが、他のテーブルにリンクする数値に問題があります。

別のテーブルにリンクしようとするたびに、同じレコードを取得し、他のテーブルのすべての要素に対してそれを繰り返します。

たとえば、クエリは次のとおりです。

SELECT
ELEMENTS.RID、TAXONOMIES.SHORT_DESCRIPTION、[type]、ELEMENT_NAME、ELEMENT_ID、SUBSTITUTION_GROUPS.DESCRIPTION、namespace_prefix、datatype_localname
FROM
ELEMENTS、SUBSTITUTION_GROUPS、TAXONOMIES、SCHEMAS、DATA_TYPES
WHERE
ELEMENTS
AND ELEMENTS.DATA_TYPE_ID = DATA_TYPES.RID
AND ELEMENTS.SUBSTITUTION_GROUP_ID = 0

最後の行は実際のフィルタリング基準です。

結果の例を次に示します。 ここに画像の説明を入力してください

結果は1つだけである必要があります(アイテムのRIDは0です)。ただし、置換グループテーブル内のすべての結果に対して1つのレコードのコピーが繰り返されます(4つあります)。

これが参考のための私のデータベーススキーマです。線はテーブル間の関係を示し、円は必要な値を示します。 ここに画像の説明を入力してください

4

1 に答える 1

2

ELEMENTSクエリ間およびクエリに参加するのを忘れていSUBSTITUTION_GROUPSます。

SELECT
ELEMENTS.RID,TAXONOMIES.SHORT_DESCRIPTION,[type],ELEMENT_NAME,ELEMENT_ID,SUBSTITUTION_GROUPS.DESCRIPTION,namespace_prefix,datatype_localname
FROM
ELEMENTS,SUBSTITUTION_GROUPS,TAXONOMIES,SCHEMAS,DATA_TYPES
WHERE
ELEMENTS.TAXONOMY_ID = TAXONOMIES.RID AND ELEMENTS.ELEMENT_SCHEMA_ID = SCHEMAS.RID
AND ELEMENTS.DATA_TYPE_ID = DATA_TYPES.RID
AND ELEMENTS.SUBSTITUTION_GROUP_ID = SUBSTITUTION_GROUPS.RID
AND ELEMENTS.SUBSTITUTION_GROUP_ID = 0
于 2013-03-11T18:39:59.537 に答える