簡體   English   中英

在mysql查詢中if為true時,僅使用AND statment

[英]Only use AND statment when if is true in mysql query

我更新了一個舊系統,我遇到了查詢問題。

為了開展業務,這是一個直接的問題:

有新記錄與其他記錄的id相關聯。 還有一些舊的記錄。

  • Case1:有一個INT id,當存在時,查詢必須在include之后使用AND。
  • 情況2:當INT id的值為0時,它必須什么都不做

這是我需要創建變量AND語句的查詢的一部分:

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)

這個怎么樣....

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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM