Mysql 内部联接而不是内部选择不起作用

Mysql 内部联接而不是内部选择不起作用,mysql,sql,Mysql,Sql,我有一个正在工作的查询(和两个名为topic和topic\u dataitem\u relation的表): 但我想当我使用加入时,我不能达到同样的结果: SELECT distinct * FROM omid.topic as t left join omid.topic_dataitem_relation As tdr ON t.ID != tdr.TopicID WHERE tdr.DataitemID = 37; 如果可以加入,有人能帮我吗?(提前感谢)加入也是一个条件,所以要应用

我有一个正在工作的查询(和两个名为topic和topic\u dataitem\u relation的表):

但我想当我使用加入时,我不能达到同样的结果:

SELECT distinct * 
FROM omid.topic as t
left join  omid.topic_dataitem_relation As tdr
ON t.ID != tdr.TopicID
WHERE tdr.DataitemID = 37;

如果可以加入,有人能帮我吗?(提前感谢)

加入也是一个条件,所以要应用其他条件,必须使用,而, 您的查询将是:

    SELECT * 
    FROM omid.topic as t
    JOIN omid.topic_dataitem_relation As tdr
    ON t.ID != tdr.TopicID
    AND tdr.DataitemID = 37; /* Your WHERE BECOME AND */
    /* AND condition2 = value 2*/
    /* AND ..... */

非常感谢你的回答,但还是一样的问题。它不起作用!“DISTINCT*”正是您可以在sql查询中输入的最愚蠢的东西。我们不需要它,我会无意识地粘贴它,即使没有DISTINCT也不会返回正确的结果。请执行以下操作:从omid.topic中选择*作为t JOIN omid.topic\u dataitem\u relationship作为t.ID上的tdr!=tdr.TopicID和tdr.dataitemid37;
    SELECT * 
    FROM omid.topic as t
    JOIN omid.topic_dataitem_relation As tdr
    ON t.ID != tdr.TopicID
    AND tdr.DataitemID = 37; /* Your WHERE BECOME AND */
    /* AND condition2 = value 2*/
    /* AND ..... */