需要连接2个表,但MySQL中另一个表中的某些行除外

需要连接2个表,但MySQL中另一个表中的某些行除外,mysql,join,Mysql,Join,我不是那么专业。我需要连接2个表,但状态为“Del Edge”的特定行除外。并且不允许重复行。我也尝试编写一个查询,但我认为它的形式不正确。例如,用户“t”登录并搜索名称“Bush”,因此我只需要这些数据。任何帮助都将不胜感激。以下是示例表: 链接表: Id(PK) source target freq 1 Bush Fisher 1 2 Lamburt Bush 6 3

我不是那么专业。我需要连接2个表,但状态为“Del Edge”的特定行除外。并且不允许重复行。我也尝试编写一个查询,但我认为它的形式不正确。例如,用户“t”登录并搜索名称“Bush”,因此我只需要这些数据。任何帮助都将不胜感激。以下是示例表:

链接表:

  Id(PK)     source     target     freq
    1        Bush       Fisher      1
    2        Lamburt    Bush        6
    3        Sam        Bush        3
    4        Fisher     Sam         7
    5        Bush       Dalai       4
日志表:

  username    Id (FK)    source    target   frequency   status
      t          5        Bush      Dalai       4       Add Node
      m          8        Dalai     Pit         5       Del Edge
      t          3        Sam       Bush        3       Del Edge
联接表应为:

source      target   frequency
 Bush       Fisher      1
 Lamburt    Bush        6
 Bush       Dalai       4
我的问题是:

"SELECT source, target, frequency from links, logs 
 where (links.source=Bush || links.target= Bush) && 
 where not exists 
 (SELECT source, target, frequency FROM logs 
 WHERE (links.id = logs.id && logs.status=Del Edge)";

下面的内容应该可以做到这一点

SELECT DISTINCT k.source, 
                k.target, 
                k.frequency 
FROM   links k 
       LEFT JOIN logs g 
              ON g.id = k.id 
WHERE  IFNULL(status, '') != 'Del Edge' 
       AND 'Bush' IN( k.source, k.target )
希望这有帮助


此外,下面的提琴说明了上述答案事实上是正确的:

您能提供所需的结果吗?所需的结果是“连接表”。