2017-05-08 14 views
0

私はuser_groupによってUNIQUEユーザのリストを見つけなければなりません。ユーザーグループがCitrix_accのユーザーはリストに、ユーザーグループがREG_accのユーザーはリストには含めないでください。'Not'を使用してクエリを書き込む方法は?

以下は私の質問です。どこが間違っているか教えてください。

SELECT distinct * 
FROM usergroup_master 
WHERE user_group= 'Citrix_acc' not user_group='Reg_acc'; 
+0

は、あなたがそれはあなたのために間違っていたところを告げ気にしませんか?おそらく小さなデータセットで実行した結果、いくつかの行が結果セットに含まれていないことがわかりました。または、DBに何らかのエラーが表示されますか? – yeputons

+0

Btw、私はあなたが 'WHERE'で2つの条件を保持したいときに使うべき' AND'論理演算子を見逃してしまったと思います。 – yeputons

+2

ここでnot条件は必要ありません。なぜなら、あなたはすでに列が 'Citrix_acc'でなければならないと言っているからです。 – hisnameismyname2

答えて

0
SELECT distinct * 
FROM usergroup_master 
WHERE user_group = 'Citrix_acc' 

あなたは本当にどこ句の第二の部分は必要ありません。 user_group = 'Citrix_acc'の場合は、 'Reg_acc'にすることはできません。例えば、であれば、あなたが探しているものはもちろんです。

編集:あなたがを行う場合は、このようになる追加の句を必要とするクエリを作成する方法を明確にする:

SELECT distinct * 
FROM usergroup_master 
WHERE user_group = 'Citrix_acc' AND SomeColumn <> 'SomeValue' 
+0

hmmm ...なぜ落選ですか? – Joe

+1

@Joe正直言って私がもっと居ると、答えが嫌いな人や、自分の答えが一番好きな人がいるので、正解を捨てる人がたくさんいるということが分かりました。 –

+0

@JacobH:またはc)彼らは答えを理解していません。 –

0

それはあなたがuser_group = 'Citrix_acc'しかし、彼らが持っているすべてのユーザーを返すようにしたいように聞こえますReg_accのように別のuser_groupが関連付けられていません。あなたは、あなたのWHERE句でNOT EXISTSを使用して欲しい結果を得ることができる必要があります。ここでは

select distinct <UserId> -- or insert your column for user info 
from usergroup_master m1 
where m1.user_group = 'Citrix_ac' 
    and not exists (select 1 
        from #usergroup_master m2 
        where m1.UserId = m2.UserId -- assuming you have a user id column 
        and m2.user_group = 'Reg_acc') 

は、これがどのように機能するかを示すsmall demoです。

user_groupは同じ行に2つの値を持つことができないため、元のバージョンのクエリを使用することはできません。したがって、各ユーザーに対して複数の行を比較するために何らかの並べ替え操作を実行する必要があります。

0

異なるユーザーグループを探していて、REG_accが入らないようにする必要がある場合は、REG_accを削除するだけです。

は(それはあなたがそれを言及は初めてであるように私は、REGが大文字にされていると仮定するつもりです。コードにあなたが大文字にしませんでした。)

SELECT DISTINCT * FROM usergroup_master WHERE user_group <> 'REG_acc' 

これは、他のユーザーグループが含まれます、 Citrixを含む

あなただけのCitrixたい場合:

SELECT DISTINCT * FROM usergroup_master WHERE user_group = 'Citrix_acc' 
+0

これを振り返ってみると、ジェイコブ・Hの答えは私よりも優れています。私は、ダウンボートをノックする担当者を持っていない。 –

関連する問題