fre*_*ent 3 mysql stored-procedures left-join
我正在从数据库表中选择产品。目前查询是从 Coldfusion 启动的,我在那里有一个“可选的 LEFT JOIN”,如下所示:
SELECT a.products
FROM artikelstammdaten a
<cfif modul_aktiv("preorder", my_module) IS "true">
LEFT JOIN...
</cfif>
WHERE ...
Run Code Online (Sandbox Code Playgroud)
问题:
是否可以在 MySQL 中进行可选的 LEFT JOIN。我在想这样的事情:
SELECT a.products
FROM artikelstammdaten a
AND (
((param_preorder = 'false') "(1=2)" )
OR LEFT JOIN ...
)
WHERE ...
Run Code Online (Sandbox Code Playgroud)
好吧,你可以这样做:
SELECT a.products
FROM artikelstammdaten a
LEFT JOIN [another_table] ON [your parameterized condition] AND [the real join condition]
(...)
Run Code Online (Sandbox Code Playgroud)
无论您的条件是什么,LEFT JOIN 都会完成,但如果它为 false,则不会带回任何记录。
但是你当然不能cfif在纯 SQL 中模拟:)