2016-10-28 9 views
-1

私は不動産のサイトをプログラミングしていて、2つのテーブルを持っています:テーブルイメージのイメージとイメージ写真メインかどうかを示すフィールドがあります普通の写真。 私はそれがメインの写真を持っていないかもしれないかどうかを見ています。 私は選択テーブルを与えるとき、それは私がそれがイモベルのメイン写真であるかどうか私に教えてくれないより多くの通常の写真を返します。 私はこれらのクエリを使用:フィールドが存在するかどうかを返す方法

これは私のメインの写真返さ:

SELECT * FROM imovel 
INNER JOIN imagens ON imagens.imovel_id = imovel.id_imovel 
WHERE imagens.tipo = "capa" 

を、これは私に返され、通常の写真:

SELECT * FROM imovel 
INNER JOIN imagens ON imagens.imovel_id = imovel.id_imovel 
WHERE imagens.tipo = "outros" 

が最もにある、私がやりたいしませんでしたあなたがイモベルに関連する主要な写真を持っているかどうかを確認してください

+2

あなたの英語は貧弱です。あなたが持っている質問に何が間違っているのかを知る必要があります。最初のクエリはメインの写真を返しますが、なぜそれぞれのイモベルに関連するメイン写真があるかどうかは分かりません。 – Barmar

+0

http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-クエリ – Strawberry

+0

はい、私は英語で話すことができないので、それは貧しいです、私が欲しいのは、それがメインの写真を持っていないかもしれないものを見ることです。 –

答えて

0

あなたが探しているのはLEFT JOINです。私は100%あなたの正確な質問を理解しているわけではありませんが、これはあなたが必要とする質問だと思います。このため結果があなたの代わりにSELECT *WHERE imagens.imovel_id IS NULLを省略し、あなたはすべてのimovelを受信する場合、tipo = "capa"


オプションと関連するimagensを持っていなかったすべてのimovelレコードで構成されます

SELECT imovel.* 
FROM imovel 
LEFT JOIN imagens ON imagens.imovel_id = imovel.id_imovel AND imagens.tipo = "capa" 
WHERE imagens.imovel_id IS NULL 
; 

レコードとその関連する "capa"のデータが1つをイメージします(JOINされたイモベルのものがない場合はnull)。

+0

助けてくれてありがとう、私は主な写真がないImovelを返す必要があることを意味した。 –

+0

ありがとう、英語で私の母国語ではない –

関連する問題