私は、Employeeなどのテーブルに自分自身が参加している必要があります。名前に一致する姓と姓のいずれか3つの姓が記載されているか、生年月日またはメールアドレス、または国が一致するようにファーストネームが一致する必要があり、次に3つの列のいずれかが一致する場合、どのように私はこのSQLを行うことができますか?私は3つの属性はあなたがそれぞれの試合のために1
を追加する条件文の合計とOR
を置き換えることができOR条件に一致するSQL
1
A
答えて
2
に一致する要件を強制苦労しています
where c1.firstname=c2.firstname
and (c1.lastname = c2.lastname or c1.dob = c2.dob or ....)
:
SQLは次のようなものになるだろう一致の数を数え、合計でフィルタリングします。
where c1.firstname=c2.firstname and
(case when c1.lastname = c2.lastname then 1 else 0 end
+case when c1.dob = c2.dob then 1 else 0 end
+case when c1.addr1 = c2.addr1 then 1 else 0 end
+case when c1.addr2 = c2.addr2 then 1 else 0 end
+case when c1.phone = c2.phone then 1 else 0 end) >= 3
1
まず、 n の句ではなく、where
句です。
第二に、あなたはマッチを数えることができます。
select c1.*, c2.*
from c c1 join
c c2
on c1.firstname = c2.firstname and
((case when c1.lastname = c2.lastname then 1 else 0 end) +
(case when c1.dob = c2.dob then 1 else 0 end) +
(case when c1.email = c2.email then 1 else 0 end) +
(case when c1.phone = c2.phone then 1 else 0 end) +
(case when c1.city = c2.city then 1 else 0 end) +
(case when c1.country = c2.country then 1 else 0 end)
) >= 3;
第三に、試合に注意してください。 city
が一致する場合、おそらくcountry
も一致します。同じ都市で多くの人が同じ名前を持つことができます。
+0
これは有望な良いロジックに見える私はそれにショットを与える – user2101374
関連する問題
- 1. ActiveRecord条件の数順一致する
- 2. 2つの条件に基づくSQL一致行
- 3. 条件を満たすsql不一致キー
- 4. SQLクエリ "条件式のデータ型が一致しません。"
- 5. JavaScript AccessデータベースSQL条件式のデータ型の不一致
- 6. C#Access:INSERT SQL文の条件式エラーのデータ型の不一致
- 7. SQL Server 2008マージステートメント複数の一致条件
- 8. 複数の条件すべてに一致するSQL除外行
- 9. 行の値を空の一致条件にコピーするためのSQLコマンド
- 10. SQLのLIKE条件に一致する空の文字列変数
- 11. R一致しない一致条件のファイルシステムへのメモ
- 12. 条件式のデータ型の不一致
- 13. 不可能条件付き一致
- 14. MongoDB条件との完全一致
- 15. データ不一致条件式DLookupアクセス
- 16. 複数の条件一致/検索vba
- 17. Python - MongoDBと "一致"条件の集約
- 18. 条件に一致するコレクションを削除する方法
- 19. ジョイン内のすべてのレコードが条件と一致するSQLクエリ?
- 20. データフレームのサブセット内の値一致で条件一致の条件付きレベルの名前を変更します
- 21. OR条件に一致するCountifはありますか?
- 22. 一致条件の最後から一致する正規表現
- 23. これらの条件に一致する正規表現
- 24. 別のテーブルの条件に一致するテーブルから削除
- 25. 文中の複数条件に一致する正規表現
- 26. 条件に一致する場合のマッピング値 - Excel
- 27. MySQLの - の条件に一致するレコード
- 28. SPREADSHEETS:条件に一致する範囲のランダムなアイテム
- 29. ワイルドカードと複数の条件に一致するインデックス
- 30. 条件が一致していれば=と==条件付きである場合
あなたのアプローチは問題ありません。個々の条件のまわりに括弧を入れてください。 – Amit
SQL ServerまたはOracleを使用していますか?あなたが実際に使用している製品だけにタグを付けてください。 –