私は約15列のテーブルを持っています。私ができるようにしたいのは、ある範囲のIDを選択して、私に提示された同じ列データをすべて持っていることです。分でSQLは同じ列のデータを見つける
は、私はそれには、以下のように構成されている:
SELECT id, col_a, col_b ... count(id)
FROM table
GROUP BY col_a, col_b ...
をすべての行内で同一のデータを持って一緒にグループ化された行を返す - 私が欲しいものの半分ですが、理想的に私はしたいと思われます(行IDごとに同じであれば)値を持つ単一の行を取得するか、または単一の違いがある場合はNULLを取得できます。
私はそれが可能であるかどうかはわかりませんが、SQLクエリで実行可能かどうかは、PHPのループロジックを記述して各行の類似性を確認するよりもむしろ参照してください。
おかげで、
ダン
UPDATE:
ただ、これは最新に保つためには、私が重複して、表示している見つけるだろうPHP関数を記述することによって、問題を通して働いていました違い。しかし、私は今から各列のテーブルを作成し、その列を他のテーブルへの参照として作成しました。
E.G. MainTableで、コーラは今、私はまだ、私はそれはまだ、上記の問題を残してと思うが、少なくとも今Imは重複した情報を格納していない主として、当分の間、PHPの問題を解決していますテーブルコーラ
を指し、 。
あなたは、データベースのアーキテクチャをリファクタリングべきではない場合、私は疑問に思う:
そしてここでは、可能なパターンですか?リレーショナルデータベースを持つという考えは、同じデータを別の場所に格納するのを防ぐことです。しかし、そのようなことをするための完全に正当な理由があるかもしれません。ユーザー入力は気になりますが、データをdbに格納する前に検証します。 – Peter
これは画像ライブラリに基づいており、各画像には関連付けられたデータがあります。いくつかの画像は同じデータを共有し、複数の画像のデータを編集する場合、私はそれを行う人が「同じ」すべての情報を表示したいと思っています。 – Dan
実際のテーブル構造と実際のデータの例は非常に高く評価されます。現時点では、あなたのテーブルは大きな構造上の欠陥や誤解に苦しんでいるようです。 –