2つのテーブルがあります。 、無交差点行うための最善の方法は何false
2つの列が交差した値を持つ場合はtrueを返します。
を返す - 7つの交差true
1,2,3
と4,5,6
を返し、 -
1,2,7
と7,4,0
を:私は、少なくとも1つの値が交差する場合はtrueを返したいですこの?
2つのテーブルがあります。 、無交差点行うための最善の方法は何false
2つの列が交差した値を持つ場合はtrueを返します。
を返す - 7つの交差true
1,2,3
と4,5,6
を返し、 -
1,2,7
と7,4,0
を:私は、少なくとも1つの値が交差する場合はtrueを返したいですこの?
はこれを試してみてください:
select distinct 'true'
from mytable
where column1 in (select column2 from mytable)
一致がある場合、あなたが「本当」で1行を取得します。
一致するものがない場合は、行は表示されません。
full join
と条件付き集計で行う方法の1つです。
select max(case when t1.val=t2.val then 'true' else 'false' end) as intersect_or_no
from tbl1 t1
full join tbl2 t2 on t1.val=t2.val
注:これはfull join
をサポートしていないため、MySQLでは機能しません。ただし、動作は複製できます。
もう1つの方法はexists
です。
SELECT coalesce(
(SELECT 'true'
FROM tbl1 t1
WHERE EXISTS
(SELECT 1
FROM tbl2 t2
WHERE t1.val=t2.val)),'false') AS intersect_or_no
インナーを使用し、これを試してみてくださいが、これはどのようなデータベースです?
select case when exists ( select 1 from TableA as A inner join TableB as B on B.colA = A.colA) then 'TRUE' else 'FALSE' end as 'Intersects'
に参加しますかSQL Server/oracle/mysql?それに応じてタグを更新してください。 – shahkalpesh
例または列で説明したように、行レベルのデータがありますか? – Susang
列レベルの値 –