1 つのmysql テーブルのすべての列の共通点を見つけようとしています。私がしようとしているのは:
select * from table where
col1=col2 AND col1=Col3 AND col1=Col4 AND
col2=Col3 AND col2=Col4 AND col3=Col4;
このクエリがうまく機能しているとは思いません。誰かが効率的な方法を提案できますか。すべての列が同じテーブルからのものであることに注意してください
1 つのmysql テーブルのすべての列の共通点を見つけようとしています。私がしようとしているのは:
select * from table where
col1=col2 AND col1=Col3 AND col1=Col4 AND
col2=Col3 AND col2=Col4 AND col3=Col4;
このクエリがうまく機能しているとは思いません。誰かが効率的な方法を提案できますか。すべての列が同じテーブルからのものであることに注意してください
テーブルのインスタンスを結合する必要があります。
select distinct * from (
select t1.col1 'intersection' from table t1, table t2
where t1.col1=t2.col2 or t1.col1=t2.col3 or t1.col1=t2.col4
union select t3.col2 'intersection' from table t3, table t4
where t3.col2=t4.col3 or t3.col2=t4.col4
union select t5.col3 'intersection' from table t5, table t6
where t5.col3=t6.col4
)
[編集] column1 を含まない交差を含め、レコード全体ではなく値を表示するように改訂されました。