Php 仅在mysql查询中if为true时使用和station

Php 仅在mysql查询中if为true时使用和station,php,mysql,database,if-statement,Php,Mysql,Database,If Statement,我更新了一个旧系统,我有一个查询问题 要开展业务,这是直接的问题: 存在与其他记录的id关联的新记录。也有一些旧的记录不是这样的 案例1:有一个INT-id,当它存在时,查询必须在include之后使用 案例2:当INT id的值为0时,它不需要做任何事情 这是查询的一部分,我需要在其中创建一个变量和语句: LEFT JOIN table v ON v.producten_id = i.producten_id AND v.t5_id = i.t5_id AND i.id = v.inkoo

我更新了一个旧系统,我有一个查询问题

要开展业务,这是直接的问题:

存在与其他记录的id关联的新记录。也有一些旧的记录不是这样的

  • 案例1:有一个INT-id,当它存在时,查询必须在include之后使用
  • 案例2:当INT id的值为0时,它不需要做任何事情
这是查询的一部分,我需要在其中创建一个变量和语句:

LEFT JOIN table v ON v.producten_id = i.producten_id AND v.t5_id = i.t5_id AND i.id = v.inkoop_id
我从未在查询中使用过IF雄蕊,但我正在寻找类似的东西:

LEFT JOIN table v ON v.producten_id = i.producten_id AND v.t5_id = i.t5_id if(v.inkoop_id > 0){AND i.id = v.inkoop_id}
试试这个:

LEFT JOIN table v
  ON v.producten_id = i.producten_id
    AND v.t5_id = i.t5_id
    AND (v.inkoop_id <= 0 OR i.id = v.inkoop_id)
左联接表v
关于v.producten\u id=i.producten\u id
v.t5_id=i.t5_id
(v.inkoop_id这个怎么样

LEFT JOIN table v ON v.producten_id = i.producten_id
   AND v.t5_id = i.t5_id
   AND ((v.inkoop_id > 0 AND i.id = v.inkoop_id) OR (v.inkoop_id = 0))