2016-11-18 1 views
1

안녕,검색어 : CONCAT에 참여하지만, 점점 결과가

내가 여기에 문제가 있어요. 검색 옵션을 사용하고 있습니다. 이름, 성, 회사 이름 및 번호판에서 검색 할 수 있습니다. 나는 단지 다음의 질의와 함께 얻고있는 고객 정보를 또한 보여주고 싶다. 그러나 고객이 Numberplate를 가지고 있지 않으면 고객은 표시되지 않습니다. 그걸 막을 수있는 방법이 있습니까?

SELECT DISTINCT A.* 
FROM adressen AS A 
OUTER JOIN fahrzeuge AS F 
ON F.fa_kunden_id = A.ad_id 
WHERE CONCAT(coalesce(A.ad_name), coalesce(A.ad_vorname),coalesce(A.ad_firma), coalesce(F.fa_kennzeichen)) LIKE '%"+wndHauptfenster.textfield_suche.Text+"%' 

나는 자동차로도 고객을 위해, IFNULL도하지만,이 '결과가 없습니다'가 발생합니다 사용하여 시도했다 :

SELECT DISTINCT A.* 
FROM adressen AS A 
OUTER JOIN fahrzeuge AS F 
ON F.fa_kunden_id = A.ad_id 
WHERE CONCAT(coalesce(A.ad_name), coalesce(A.ad_vorname),coalesce(A.ad_firma), coalesce(ifnull(F.fa_kennzeichen, 'leer'))) LIKE '%"+wndHauptfenster.textfield_suche.Text+"%' 

UPDATE :을 주어진 솔루션을하려고하면, 그것은 전혀 아무것도 찾지 못할 것입니다.

SELECT DISTINCT A.* 
FROM adressen AS A 
OUTER JOIN fahrzeuge AS F 
ON F.fa_kunden_id = A.ad_id 
WHERE CONCAT(coalesce(A.ad_name, ''), coalesce(A.ad_vorname, ''),coalesce(A.ad_firma, ''), coalesce(F.fa_kennzeichen, '')) LIKE '%"+wndHauptfenster.textfield_suche.Text+"%' 

Adressen의 열 :

  • ad_vornameMax
  • ad_nameMustermann
  • ad_firmaTestfirma Inc
  • fa_kennzeichen 아무것도 포함하지 포함 포함 포함되어 있습니다. 쿼리가 검색하는 행이 없습니다. 에 대해 어떻게
+0

fa_kennzeichen numberplate가 맞습니까? – CGritton

+0

예. 그것이 Numberplate입니다. – Synthiatic

+0

일부 샘플 데이터는 반환되지 않는 레코드의 예와 함께 도움이 될 수 있습니다. – CGritton

답변

0

:

SELECT DISTINCT A.* 
FROM adressen AS A 
OUTER JOIN fahrzeuge AS F 
ON F.fa_kunden_id = A.ad_id 
WHERE CONCAT(coalesce(A.ad_name,''), coalesce(A.ad_vorname,''),coalesce(A.ad_firma,''), coalesce(F.fa_kennzeichen,'')) LIKE '%"+wndHauptfenster.textfield_suche.Text+"%' 
0

외부 조인 구문 오류입니다. LEFT OUTER JOIN이거나 LEFT JOIN으로 축약되어야합니다.

SELECT DISTINCT A.* 
FROM adressen AS A 
LEFT OUTER JOIN fahrzeuge AS F 
ON F.fa_kunden_id = A.ad_id 
WHERE CONCAT(coalesce(A.ad_name, ''), coalesce(A.ad_vorname, ''),coalesce(A.ad_firma, ''), coalesce(F.fa_kennzeichen, '')) LIKE '%"+wndHauptfenster.textfield_suche.Text+"%'