現在のSQL INSERT INTOステートメントでクエリを追加しようとしています。以下は私のテーブルと現在のSQLステートメントです。C#SQL重複したキーのクエリチェックを追加する
表1:ユーザーID、ユーザー名
は、私は3つのテーブルを持っています。表2:ユーザーID、ステータス。
表3:ユーザーID、ユーザー名、号
は現在、私は上記のみ3つのチェックを満たし、表3に結果をINSERT 3 SELECTステートメントを持っている:
1.
Insert in to Table3(userid,issue)
SELECT t1.userid,'check no.1'
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.userid = t2.userid
where t1.userid not null and t2.userid is null
2.
Insert in to Table3(userid,issue)
SELECT t1.userid,'check no.2'
FROM table1 t1
inner JOIN table2 t2 ON t1.userid = t2.userid
where t2.status = 'DELETE'
3.
Insert in to Table3(userid,issue)
SELECT t2.userid,'check no.3'
FROM table2 t2
right outer JOIN table2 t2 ON t1.userid = t2.userid
where t2.status <> 'DELETE' and t1.userid is null
今度は、T1とT2の両方で重複したユーザーIDを確認する別のチェックを追加します:
- 同じキャップで同じユーザーIDを確認してください(例: E01とE01は存在しないはず)
- 同じユーザーIDが異なるキャップのためのチェック(例えばE01とE01が存在してはならない)
どのように私は、重複したユーザーIDのために特別にチェック第4回SQLクエリを記述することができますか?
ありがとうございました。
を行うにはCOLLATEを使用することができますが、大文字小文字を区別しません。 –
@BrandonMoore:SQL Serverの危険なステートメント - 大文字と小文字の区別は、データベース、テーブルおよび/または列に使用される**照合**によって決まります。大文字と小文字を区別するか、大文字と小文字を区別することができます。 –
@Mark Careが大文字と小文字を区別しているかどうかについて賭けをしますか?私はいくつかの速い現金を作るためにダウンです:) しかし、はい、私はあなたが正しいことを知っています。 –