2011-07-13 10 views
0

トラブルシューティングの日後に困惑しました。このMySQLクエリは1ヶ月間正常に実行されており、突然私は関連する管理プログラム全体を汚している重複した結果を受けています。突然重複結果を表示するSQLクエリ

私のトラブルシューティングでは、データベースの重複エントリの検索が含まれていましたが、存在しませんでした。たとえば、phpMyAdminでsearchコマンドを使用して、entry_id = 45およびfield_id = 65のエントリを表示しました。検索結果に正しい結果が1つだけ表示されました。昨日の時点で、以下のクエリは同じ結果を2回表示します。

問合せ:

 
    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:回答の投票数の下にあるチェックボックスをクリックして(正解)、正しい回答を「受け入れる」ことを確認してください。次に、コメントで2番目の質問をしないでください。すべての必要な情報を含む新しい質問を投稿してください。 –

0

スキーマと重複した結果に関する詳細を知らなくても、質問に答えることは難しいです。あなたのデータは複製されていない時間から更新されたと思います。 v.idとv.field_valueに、同じv.field_idに対して複数回NULL値が含まれているか、2つの表のいずれかに投影する列の値が同じ行があるかどうかを調べます。 f.idまたはv.field_idが異なる行で同じ値を持つかどうかを調べます。

関連する問題