简体   繁体   English

使用SQL查询创建过滤器

[英]Creating filter with SQL queries

I am trying to create a filter with SQL queries but am having trouble with numeric values linking to other tables. 我正在尝试使用SQL查询创建过滤器,但无法将数值链接到其他表。

Every time I try to link to another table, it takes the same record and repeats it for every element in the other table. 每次我尝试链接到另一个表时,它都会获取相同的记录,并对另一个表中的每个元素重复该记录。

For example, here is query: 例如,这是查询:

SELECT 选择
ELEMENTS.RID,TAXONOMIES.SHORT_DESCRIPTION,[type],ELEMENT_NAME,ELEMENT_ID,SUBSTITUTION_GROUPS.DESCRIPTION,namespace_prefix,datatype_localname ELEMENTS.RID,TAXONOMIES.SHORT_DESCRIPTION,[类型],ELEMENT_NAME,ELEMENT_ID,SUBSTITUTION_GROUPS.DESCRIPTION,名称空间前缀,数据类型本地名称
FROM
ELEMENTS,SUBSTITUTION_GROUPS,TAXONOMIES,SCHEMAS,DATA_TYPES ELEMENTS,SUBSTITUTION_GROUPS,TAXONOMIES,SCHEMAS,DATA_TYPES
WHERE 哪里
ELEMENTS.TAXONOMY_ID = TAXONOMIES.RID AND ELEMENTS.ELEMENT_SCHEMA_ID = SCHEMAS.RID ELEMENTS.TAXONOMY_ID = TAXONOMIES.RID和ELEMENTS.ELEMENT_SCHEMA_ID = SCHEMAS.RID
AND ELEMENTS.DATA_TYPE_ID = DATA_TYPES.RID AND ELEMENTS.DATA_TYPE_ID = DATA_TYPES.RID
AND ELEMENTS.SUBSTITUTION_GROUP_ID = 0 AND ELEMENTS.SUBSTITUTION_GROUP_ID = 0

The last line is the actual filtering criteria. 最后一行是实际的过滤条件。

Here is an example result: 这是一个示例结果: 在此处输入图片说明

There should only be ONE result (Item has an RID of 0). 结果应该只有一个(项目的RID为0)。 But it's repeating a copy of the one record for every result inside the substitution groups table (there's 4). 但是它会为替换组表(有4个)中的每个结果重复一个记录的副本。

Here is my database schema for reference. 这是我的数据库架构以供参考。 The lines indicate relationships between tables and the circles indicate the values I want: 线条表示表格之间的关系,圆圈表示我想要的值: 在此处输入图片说明

You're forgot to join between ELEMENTS and SUBSTITUTION_GROUPS in your query. 您忘记了在查询中的ELEMENTSSUBSTITUTION_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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM