2016-10-21 3 views
0

まず、私の英語のために申し訳ありません、私はフランス出身です。Sqlリクエスト?どこの句

単純なSQLリクエストを作成しようとしていますが、私は固執していますが、理由はわかりません。だからここに私が何をしたいの単純化されている:

2のテーブル:

user_profil:

プロフィールidprofil iduser、:idprofil、プロフィール

私が欲しいもの:

私は1人のユーザーが持っていないプロファイルのリストを取得したいと思います。したがって、ユーザーがuser_profilにプロファイルを持っている場合、このプロファイルをプロファイルの結果に含めることは望ましくありません。

ユーザーがプロフィールを持っている場合、このプロフィールがリクエストの結果になることは望ましくありません。

私が試した:

select distinct (p.idprofil), p.profil 
from profil p, user_profil u 
where p.idprofil != u.idprofil and u.iduser = X 

をしかし、それは動作しません(ユーザーが一つだけプロフィールを持っていますが、彼は、少なくとも2 profilsを持っている場合、それが動作しない場合はそれが動作します。)

答えて

1

使用not inまたはnot exists:完全

select u.* 
from user_profil u 
where u.idprofil not in (select p.idprofil from profil p); 
+0

作品!感謝:) 私の要求: 選択p.idprofil、p.idprofilは(u.iduserはXを= U user_profilからu.idprofilを選択)ないでプロフィールのP からp.profil – shqnks