0
私はここで私を助けることができるのだろうかと思います。Mysql Cartesian Product:各関係は一度だけ
これは私がする必要があることです: 言語テーブルのIDをすべて新しいテーブルの中で一意のリレーションシップを持つように引き出します。ノードの数式n(n-1)と同様です。
列a = 1で列b = 2が列a = 2および列b = 1のときと同じであるため、デカルト積で試しましたが機能しません。これをSQLステートメントで行うことができます。私はPHPスクリプトを使用して回避策を講じないようにしたいと考えていました。したがって、以下のSQLは半分に過ぎません。
DROP TABLE IF EXISTS lang_score;
CREATE TABLE lang_score
SELECT a.text_lang_id AS lang_1, b.text_lang_id AS lang_2
FROM text_lang AS a, text_lang AS b
WHERE a.text_lang_id != b.text_lang_id
これらの列にUNIQUEキーを付けることはできません。なぜなら、それぞれの数値が両方に複数回表示されるからです。私もこのテーブルのSELECTSを試してみましたが、これらの関係の重複を避ける方法は見つけられませんでした。任意のヒントを事前に
おかげ
EDIT作品
問合せ:
DROP TABLE IF EXISTS lang_score;
CREATE TABLE lang_score
SELECT a.text_lang_id AS lang_1, b.text_lang_id AS lang_2
FROM text_lang AS a, text_lang AS b
WHERE a.text_lang_id < b.text_lang_id
使用 '<'の代わりに ' != '。それは(1,2)を返しますが、(2,1)は返しません。 –
ありがとうございます - これは私が探していたものです。タイはたくさん! – Ameliore