午後、SQLが2つのテーブルと1つの条件を満たす要素を結合する
私が参加しようとしている2つのテーブルに問題があります。
私がしようとしているのは、いくつかの議題(codControl)に登録されているすべての製品を使ってテーブルを印刷しなければならないためです。
しかし、最初に私はlctocotacaoを調べて、彼がすでにいくつかの製品に価格を与えていたかどうかを調べる必要があります。しかし、私がこれをするとき、私はちょうどある価格を持っている製品と、私が見ていないものを手に入れます。ここで
は、私は現時点では、このSQL文を持っている私のテーブルcadprodutoscotacao
codProduct desc codControl
1 abc 197
2 cde 197
3 fgh 197
1 abc 198
そして、私のテーブルlctocotacao
codProduct price codControl codPerson
1 2.5000 197 19
2 3.0000 197 37
3 4.5000 198 37
の例である:
SELECT cadc.cod, cadc.desc, lcto.codEnt, lcto.price
FROM cadprodutoscotacao cadc JOIN lctocotacao lcto
ON cadc.codControl = lcto.codControl
AND cadc.codProduct = lcto.codProduct
AND cadc.codControl = '197'
AND lcto.codPerson = '19'
ORDER BY cadc.codControl;
cod desc price codPerson codControl
1 abc 2.5000 19 197
を、表には、私は私のクエリへのパラメータとなります
cod desc price codPerson codControl
1 abc 2.5000 19 197
2 cde 197
3 fgh 197
197と19を期待:私は取得しています何。
進歩上のアイデアはありますか?
E D I T
基本的に、私は2つのクエリがあります:議題 '197' に登録されているすべての製品を返すために、この最初の
SELECT *
FROM cadprodutoscotacao
WHERE cadc_codControl = '197'
を。
2つ目:
SELECT *
FROM lctocotacao
WHERE codPerson = 19
AND codControl = '197'
すべて含め、すでに私は1つのテーブルを返す必要が議題197
者19で追加されたいくつかの価格を持っていた製品を、戻すには、この第二1レコードを最初のクエリから取得し、2番目のクエリに価格がある場合は、それらを連結する必要があります。事前に
感謝。
あなたは 'left join'を探しています: –
わかりません。私はちょうどイメージを追加した、私はあなたが今何を期待しているのかを見ることができると思う。 –
それは助けになるか分かりません...非常に不明なことがあります:あなたは人物19を具体的に検索しますが、人物37の結果が欲しいです... **あなたは**価格を連結したいと言っていますが、あなたの結果に表示される2,50は人37の価格に対応し、横の列には人19が表示されます...私は分かりません。 –