我需要与where有条件的内部连接。
我有一个包含三个特定领域的评估表:国家,学位和主题。
还有另一种名为“响应模板”的表格,具有相同的字段:国家/地区,学位和主题。
顾问根据不同的条件创建一些响应模板以更快地回答。
顾问以答复表的形式答复评估查询,然后我需要根据归档的用户部分将相关响应的列表过滤为下拉列表。
例如,如果用户选择“国家/地区:美国”,“学位:硕士和主题:数学”,那么我需要根据这些部分过滤响应模板,并仅显示“国家/地区:美国”,“学位:硕士和主题:数学”的响应模板。
我使用了此代码,但它仅适用于第一个条件“国家/地区”,不适用于第二个和第三个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
)
最佳答案
您是否尝试使用OR代替AND。这使您可以根据自己的条件进行匹配。如果使用AND,则所有树条件都应为TRUE,以获取值
关于mysql - SQL条件内部联接的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42710677/