3

データベーステーブルから製品を選択しています。現在、クエリはColdfusionから起動され、次のような「オプションのLEFTJOIN」があります。

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

質問:
MySQLでオプションのLEFTJOINを実行することは可能ですか?私はこのようなことを考えています:

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は、条件に関係なく実行されますが、falseの場合、レコードは返されません。

cfifしかし、純粋なSQLでエミュレートすることはできません:)

于 2012-06-21T11:20:16.093 に答える