選択するにはどうすればよいですか:San_Propostaという名前のテーブル内にあるproposta_idとSan_Negocioテーブル内にあるproposta_idをすべて選択しますSan_Negocioのこのproposta_idに列があるときValidaCaptacao = 0とValidaVenda = 1またはValidaVenda = 0とValidaCaptacao = 1であり、San_Negocioの列Proposta_IdはNULLにできませんか?LEFT OUTER JOINを選択するにはどうすればいいですか
私はJOINをLEFT OUTERを使用する必要がある場合は知っているが、私はSan_Negocio.Proposta_Idに存在していないSan_Proposta.Proposta_Idでいくつかのデータを持っているので、正しく動作しません。私の試みを、従っていないが、このデータは表示されません。あなたはそれはINNER JOINをしたかのように振る舞うように参加するWHERE句、あなたの力にLEFT JOINしたテーブルから列をテスト
SELECT San_Proposta.Proposta_Id
FROM San_Proposta
LEFT OUTER JOIN San_Negocio
ON San_Proposta.Proposta_Id = San_Negocio.Proposta_Id
WHERE San_Negocio.Proposta_Id IS NOT NULL
AND (San_Negocio.ValidaCaptacao = 1 AND San_Negocio.ValidaVenda = 0)
OR (San_Negocio.ValidaCaptacao = 0 AND San_Negocio.ValidaVenda = 1)
だけ明確にする - Proposta_Idは、いずれかのテーブルに存在し、またはその両方が正しいことができますか?私はProposta_IdがSan_Propostaテーブルに少なくとも存在しなければならないという質問には何も表示されません。私が間違っているなら私を訂正してください。 –
ALL San_Negocio.Proposta_IdはSan_Propostaに存在しますが、San_NegocioにはいくつかのSan_Proposta.Proposta_Idが存在します。 –