2015-11-15 34 views
0

當我執行此操作時,它將返回超過百萬行,第一個表中我有315 000行,第二個表中有大約14 000行。我應該如何從兩個表中獲取所有行表?另外,如果我不停止服務器在上市未激勵的行中崩潰。內部連接返回重複表中不存在的數據

select * 
from tblNormativiIspratnica 
inner join tblNormativiSubIspratnica on tblNormativiIspratnica.ZaklucokBroj = tblNormativiSubIspratnica.ZaklucokBroj 
+1

標題和問題對我來說還不清楚,你的句子有不好的語法。請改善您的帖子。您還可以添加三個示例代碼塊,其中包含表1和2的虛擬數據以及連接結果。 –

+1

你也可以[使用搜索功能](http://stackoverflow.com/search?q= [sql-server] + inner + join)。也許[這](http://stackoverflow.com/questions/27888412/sql-inner-join)也可能引導你。 –

+1

你究竟在做什麼?樣本數據和期望的結果非常有幫助。 –

回答

0

如果第一個表有315000行,第二個有14000行,那麼你正在使用沒有形成一個良好的主鍵,外鍵關係的一部分領域,結果你獲得笛卡爾產品重複。如果你想有一個明確定義的結果,你必須有定義好的字段來滿足這些目的。順便說一句,照顧你的服務器故障等,不要嘗試獲取大型結果集的查詢,如果你不知道你在做什麼。在運行大型結果集之前,通過編寫具有更多特定條件的簡單查詢來快速查找基礎知識並理解設計。 如果您沒有服務器性能問題和故障,我會建議DISTINCT作爲獲取唯一行的(差)快速解決方案,但請記住,DISTINCT查詢有時會帶來性能損失。