2016-11-18 19 views
1

こんにちは、クエリ:、連結方式の参加が、取得結果が

私はここでの問題を抱えています。私は検索オプションに取り組んでいます。名、姓、会社名、ナンバープレートを検索できます。私は、次のクエリで得ている顧客情報も、左側に表示したいだけです。ただし、顧客がナンバープレートを持っていない場合、顧客は表示されません。それを防ぐ方法はありますか?

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_firmaが含まれていますがTestfirma Inc
  • fa_kennzeichenは何も含まれていませんが含まれています。クエリが検索している行が存在しません。どのよう
+0

fa_kennzeichenナンバープレートですか? – CGritton

+0

はい。それがナンバープレートです。 – 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

OUTER JOINの構文エラーです。 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+"%'