2012-06-21 3 views
2

데이터베이스 테이블에서 제품을 선택하고 있습니다. 현재 쿼리과 같이 내가이 ColdFusion에서에서 "옵션 LEFT 가입하세요"시작됩니다 :MySQL에서 LEFT JOIN 옵션을 사용할 수 있습니까?

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

질문 :
이 가능 옵션 LEFT이 MySQL의에서 가입 할 수 있습니다. 나는 이런 식으로 뭔가를 생각하고 있어요 :

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

답변

4

글쎄, 당신은 같은 것을 수행 할 수 있습니다

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

LEFT (왼쪽)이 수행됩니다 JOIN을, 당신의 상태이지만, 무엇이든 그것이 거짓이라면, 그것을 어떤 기록도 가져 오지 않을 것입니다.

그러나 당신은 확실히 순수 SQL :)에 cfif를 에뮬레이트 할 수

+0

그래서 ON (예 : 매개 변수 = TRUE)를 내가 원하는 어떤 기준이 될 수 있으며, 내가 가입 할 테이블과 관련이있을 필요가 없습니다 ? – frequent

+0

실제로 :) '켜기'조건은 누구나 될 수 있습니다. 'ON FALSE' : p –

+1

내 하루의 절반을 절약했습니다 :-) – frequent