2016-12-14 13 views
1

を左のすべての行を選択し、ヌルましょうです:mysqlのは、私はmysqlデータベース内の2つのテーブル、テーブルを持っている右の表に

enter image description here

上側の表は、jenis_pohon、下1はjtt

です

jenis_pohon内のすべての行を選択した状態でjttとそれを結合する方法

jtt.tahun='2016' AND jtt.koperasi_id='4'は、私は次のクエリを試してみました:

SELECT * FROM `jenis_pohon` LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id=jtt.jenis_pohon_id WHERE jtt.tahun='2016' AND jtt.koperasi_id='4' 

運がありません。

基本的には6行が返されます(この6行はjenis_pohonから来ています)。

+0

あなたの予想される出力は何ですか? – Faisal

+1

[this](http://stackoverflow.com/questions/9160991/left-join-with-condition)は役に立ちますか? –

+0

@TerryLi awesomeee ...まさに私が探しているもの。どうもありがとう。 –

答えて

0

私はあなたのテーブルを作成し、それが動作しますが、それをテストしてみました。 使用このクエリ:カッコはWHERE使用するよりも速くクエリのドロドロを作る参加内部使用して、その

SELECT * FROM jenis_pohon 
LEFT JOIN jtt ON (jenis_pohon.jenis_pohon_id = jtt.jenis_pohon_id AND jtt.tahun = '2016' AND jtt.koperasi_id = '4') 

注意してください。

結果は次のとおりです。

enter image description here

あなたが好きそれを並べ替えることができます。

SELECT * FROM jenis_pohon 
LEFT JOIN jtt ON (jenis_pohon.jenis_pohon_id = jtt.jenis_pohon_id AND jtt.tahun = '2016' AND jtt.koperasi_id = '4') 
ORDER BY jenis_pohon.jenis_pohon_id 
+0

はい、ありがとう、私はあなたのようなクエリを使用して解決しました。 –

+0

あなたを助けることができてうれしいです。 –

0

以下のクエリを使用してみてください。

SELECT 
    * 
FROM 
    `jenis_pohon` 
LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id = jtt.jenis_pohon_id 
AND jtt.tahun = '2016' 
AND jtt.koperasi_id = '4'; 

LIVE DEMO

OUTPUT

enter image description here

0

これをチェックしてください。 '4'、ここで条件jtt.tahun = '2016' AND jtt.koperasi_id =とDemo

表のJTTをチェック それはtabelにAVEのみ3レコードを 'JTT' '4' jtt.koperasi_id =ので、唯一の3のレコードを返します

SELECT * FROM `jenis_pohon` 
LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id=jtt.jenis_pohon_id 
WHERE jtt.tahun='2016' AND jtt.koperasi_id='4'; 

O条件onlt jtt.tahun = '2016' が表のJTT

SELECT distinct * FROM `jenis_pohon` 
    LEFT JOIN jtt ON jenis_pohon.jenis_pohon_id=jtt.jenis_pohon_id 
    WHERE jtt.tahun='2016' 
関連する問題