phoneBoxRecordIDと一致するすべてのレコードをphoneBox DBに戻したいとします。一致する値を持つレコードを列に見つけよう
SELECT * FROM phoneBox where phoneBoxRecordIDs MATCH
返します:
Id phoneBoxRecordIDs colour
4 492948 Blue
9 492948 Brown
27 492948 Pink
phoneBoxRecordIDと一致するすべてのレコードをphoneBox DBに戻したいとします。一致する値を持つレコードを列に見つけよう
SELECT * FROM phoneBox where phoneBoxRecordIDs MATCH
返します:
Id phoneBoxRecordIDs colour
4 492948 Blue
9 492948 Brown
27 492948 Pink
あなたは可能性があり、カウント> 1、 しかし、これが唯一のそのID
SELECT Count(*) [Count] , phoneBoxRecordIDs FROM phoneBox Group By phoneBoxRecordIDs Having Count(*) > 1
あなたは明示的に結合を宣言しなければなりません...プリミティブスタイルはすぐに廃止されます – maSTAShuFu
phoneBoxRecordIDs
が複数回表示されるようにするには、ANSI標準の方法でウィンドウ関数を使用します。
select pb.*
from (select pb.*, count(*) over (partition by phoneBoxRecordIDs) as cnt
from phoneBox
) pb
where cnt > 1
order by phoneBoxRecordIDs;
また、一致するレコードが存在する場合にのみ返す記録によってこれを行うことができます:
select pb.*
from phoneBox pb
where exists (select 1
from phoneBox pb2
where pb2.phoneBoxRecordIDs = pb.phoneBoxRecordIDs and
pb2.id <> pb.id
);
私は互換性のないデータベースタグを削除しました。実際に使用しているデータベースにタグを付けます。また、何にマッチする? –
私はやりたいことの例ですが、それを行う方法がわかりませんphoneBoxRecordIDs列に格納されている値が同じ列に格納されている他の値と一致するphoneBoxテーブルのすべてのレコードを返したい – John
WHERE句でネストされたSELECT文を使用する必要があるように思えます。 –