SQL条件内连接在哪里

时间:2017-03-10 05:09:43

标签: mysql inner-join conditional-statements

我需要在哪里使用条件内连接。

我有一个评估表,有三个特定的领域:国家,学位和科目。

还有另一个名为“响应模板”的表单,其中包含相同的字段:country,Degree和subject。

顾问根据不同条件创建一些响应模板以更快地回答。

顾问在回复表格中回复评估查询,然后我需要将相关回复列表过滤为基于用户部分的下拉列表。

例如,如果用户选择国家:美国,学位:硕士和科目:数学,那么我需要根据这些部分过滤响应模板,并仅显示国家:美国,学位:硕士和科目:数学的响应模板。

我使用了这段代码,但它仅适用于第一个条件“country”,不适用于第二个和第三个AND。

如果没有任何项目与第一个条件匹配,我还需要按国家和学位进行筛选。

WHERE {thistable}.id IN (
    SELECT app_responds.id
    FROM app_responds AS app_responds
    INNER JOIN app_assessment AS app_assessment
        ON app_responds.destination = app_assessment.destination_country AND
           app_responds.degree = app_assessment.degree AND
           app_responds.field_of_study = app_assessment.field_of_study_id AND
           app_responds.subject = app_assessment.subject_id
)

1 个答案:

答案 0 :(得分:0)

您是否尝试使用OR代替AND。这样就可以根据您的条件进行匹配。如果使用AND,则所有树条件都应为TRUE才能获得值