2016-12-20 28 views
-5

enter image description here需要一個SQL查詢,從2個表

現在我們需要一個SQL查詢來獲取記錄,其中在狀態(失敗,NULL)獲取數據和重試次數< 10.obviously最終的結果應該包含的ID = 1 ,2,3但不是4

+0

如何表有關係嗎?你的輸出應該是什麼樣子? –

+0

我已經嘗試過與工會,但它的工作。因時間限制coundt提供適當的格式的細節...... exogle爲 – javalearner

+0

兩個問題。 ** **第一季度。 ''''''''''''''''''''''''''''''''''''''''''''table_b'中根本沒有條目?你說其中一個條件是'retry_count <10',但是如果'table_b'中找不到'id',那麼這個條件就不成立。 ('NULL'不是<<10')。 ** ** Q2。是用'id'還是用'id'和'pin'來匹配表格? – mathguy

回答

3

你需要一個join和一些注意NULL值:

select a.id 
from tableA a left join 
    tableB b 
    on a.id = b.id 
where (a.status is null or a.status = 'FAILED') and 
     coalesce(b.retrycount, 0) < 10; 
+0

看起來像一些條件是錯過。您的查詢是給數以千計的記錄,不滿足條件 – javalearner

+4

@javalearner - 戈登的查詢符合你在你的問題中提供的過濾標準。因此,如果確實「錯過了某些條件」,則在您的帖子中遺漏*。你承認你沒有時間寫一個體面的問題,但你仍然認爲陌生人會投入時間試圖幫助你。表演不佳。 – APC

+0

@ APC ..我已經找到了答案..它與一些改變...一起工作...信譽戈登...我的意思是,如果有什麼東西錯過了聯合coalesce(這對我來說很新),他可以回覆..rest的東西,我可以試試看......我根據自己的要求對其查詢做了一些更改......下次以適當的格式回覆......感謝您的反饋:-) – javalearner