2011-07-13 28 views
0

經過一天的排除故障後,我很難過。這個MySQL查詢已經成功運行了一個月,突然之間我收到了重複的結果,這個結果正在污染與它相關的整個管理程序。突然顯示重複結果的SQL查詢

我的故障排除包括在數據庫中搜索重複的條目並且不存在。例如,我使用phpMyAdmin中的搜索命令來顯示entries_id = 45和field_id = 65的條目。搜索結果只顯示一個結果是正確的。截至昨天,下面的查詢顯示兩次相同的結果。

查詢:

 
    SELECT f.id, f.title, f.type, f.name, v.id AS f_id, v.field_value 
    FROM jos_directory_enf AS v 
    LEFT JOIN jos_directory_field AS f ON f.id = v.field_id 
    WHERE v.entry_id = 45 AND v.field_id = 65 
+0

所有'f.id'你是從數據庫中拉相同?重複的行是否完全相同?你說你在phpMyAdmin中試過 - 如果你直接從phpMyAdmin執行查詢會發生什麼? – kba

+0

我發現了錯誤。表jos_directory_field中的字段已被複制(至於它們如何被複制,我不知道)。如果有人知道使用phpmyadmin刪除重複的簡單方法,請讓我知道。謝謝您的幫助。 – user830381

回答

1

你可能想看看你的連接表中都有任何重複,這將導致更多的結果你的主查詢。

+0

果然,表jos_directory_field中的字段以某種方式在數據庫中重複。謝謝! – user830381

+0

有沒有簡單的方法使用phpmyadmin刪除數據庫中的重複條目? – user830381

+0

@ user830381:請務必點擊答案投票計數下的複選框(同時提高投票數),以「接受」正確的答案。其次,在評論中不要問第二個問題。發佈一個包含所有必要信息的新問題。 –

0

如果不知道有關模式和重複結果的詳細信息,很難回答您的問題。我想你的數據自沒有重複出現以來就已經更新了。 查看v.id和v.field_value對於同一個v.field_id是否包含NULL值不止一次,或者對於在兩個表之一中投影的列有相同值的行。看看f.id或v.field_id在不同行中的值是否相同。