2016-10-28 61 views
-1

我正在編程一個房地產網站,並有2個表:imovel和表中的圖像我有一個字段,說如果它是照片主或是普通照片。 正如我所看到的那樣,可能沒有主要照片。 ,因爲當我給選擇表相關它返回我更正常的照片不告訴我,如果這是Imovel主照片。 我用這些查詢:如果字段存在或不在mysql中如何返回

這回我主的照片:

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" 

大多數並沒有做我想做的,這是看看你是否有與imovel相關的主要照片

+2

您的英語很差,很難說出你在嘗試什麼克去做和你有什麼問題。第一個查詢返回主要照片,爲什麼沒有告訴你是否有與每個「imovel」相關的主要照片? – 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 imovel.* 
FROM imovel 
LEFT JOIN imagens ON imagens.imovel_id = imovel.id_imovel AND imagens.tipo = "capa" 
WHERE imagens.imovel_id IS NULL 
; 

這樣做的結果將包括所有imovel記錄中沒有相關的imagenstipo = "capa"


可選,如果你不是SELECT *,並省略WHERE imagens.imovel_id IS NULL,您將收到的所有imovel記錄和關聯的「capa」圖像的數據(如果JOINed imovel沒有,則爲null)

+0

感謝您的幫助,我的意思是我需要返回沒有主要照片的Imovel。 –

+0

工作謝謝,我的英語不是我的母語 –

相關問題