3

我正在从数据库表中选择产品。目前查询是从 Coldfusion 启动的,我有一个“可选的 LEFT JOIN”,如下所示:

SELECT a.products
FROM artikelstammdaten a
  <cfif modul_aktiv("preorder", my_module) IS "true">
     LEFT JOIN...
  </cfif>
WHERE ...

问题:
是否可以在 MySQL 中进行可选的 LEFT JOIN。我在想这样的事情:

SELECT a.products
FROM artikelstammdaten a
    AND ( 
        ((param_preorder = 'false') "(1=2)" )
          OR LEFT JOIN ...  
        )
WHERE ...
4

1 回答 1

5

好吧,你可以这样做:

SELECT a.products
FROM artikelstammdaten a
LEFT JOIN [another_table] ON [your parameterized condition] AND [the real join condition]
(...)

无论您的条件是什么,LEFT JOIN 都会完成,但如果它是假的,它不会带回任何记录。

但是你当然不能cfif在纯 SQL 中模拟 :)

于 2012-06-21T11:20:16.093 回答