當談到SQL時,我幾乎是個noob,所以我們將不勝感激。我有一個大型數據集,我正在篩選醫院。我從6個不同的表中提取數據,並且每次訪問時我的一個表都有重複的行。我只想爲每次訪問拉一行(哪一行被拉入並不重要)。我知道我需要使用DISTINCT或GROUP BY子句,但是我的語法必須是錯誤的。SQL重複行多重聯接
所以這個工作好,但是當醫生進入病人的問題清單,並進行了更改它refiles整個列表,這再次填充ProblemList表。因此,對於1次訪問,由於ProblemList的原因,我可能會得到4個重複條目,而我只需要一個。哪一個也沒關係。
我試過引用其他問題,並嵌套另一個SELECT語句,但我只是不斷收到語法錯誤。
這就是重複值的樣子:
1111111111 SMITH,JOHN 1111 1/1/1901 CHEST PAIN 1111 2 111-111-1111 1/1/1901 12:15 DIS IN DOEJO GLU 120 H 1/2/1901 6:35 NULL CHEST PAIN Diabetes type 2, controlled
1111111111 SMITH,JOHN 1111 1/1/1901 CHEST PAIN 1111 2 111-111-1111 1/1/1901 12:15 DIS IN DOEJO GLU 120 H 1/2/1901 6:35 NULL CHEST PAIN Diabetes type 2, controlled
1111111111 SMITH,JOHN 1111 1/1/1901 CHEST PAIN 1111 2 111-111-1111 1/1/1901 12:15 DIS IN DOEJO GLU 120 H 1/2/1901 6:35 NULL CHEST PAIN Diabetes type 2, controlled
1111111111 SMITH,JOHN 1111 1/1/1901 CHEST PAIN 1111 2 111-111-1111 1/1/1901 12:15 DIS IN DOEJO GLU 120 H 1/2/1901 6:35 NULL CHEST PAIN Diabetes type 2, controlled
在最後的「2型糖尿病,控制」是什麼導致重複。如果我從查詢中刪除ProblemListVisit和ProblemList表,我只能得到一行數據。
最重要的是獲得所有獨特的測試結果,但不是所有重複的問題列表條目(只是想知道他們有什麼類型的糖尿病,一次)。
謝謝!
爲了得到一個獨特的,你應該把'distinct'這個單詞放在你的單詞旁邊'select',然後按原樣運行查詢。仍然最好找出你有重複的原因。據推測,問題列表訪問和問題列表表格中存在您未在您的選擇列表中顯示的值,但這些值並不明確。通過執行'select *'來更好地追蹤這些值並找出導致「重複」的值。 – paqogomez 2015-02-24 22:01:58
在將DISTINCT放在那裏之前,我會嘗試着解決真正的問題。選擇所有列'SELECT * ...'並找到在其他重複行中不同的列,這將是一個很好的故障排除步驟。 – dan08 2015-02-24 22:07:01
正如@ dan08所說,但我最關心的是'ProblemList'表中的重複性質,而不是在查詢結果中,因爲前者驅動後者。 – 2015-02-24 22:09:57