我正在从数据库表中选择产品。目前查询是从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 ...
答案 0 :(得分:4)
嗯,你可以这样做:
SELECT a.products
FROM artikelstammdaten a
LEFT JOIN [another_table] ON [your parameterized condition] AND [the real join condition]
(...)
LEFT JOIN将完成,无论您的条件是什么,但如果它是假的,它将不会带回任何记录。
但你肯定无法模仿纯SQL中的cfif
:)