2016-04-07 10 views
0

primaryCustomerID列とPositionCode列を持つテーブルがあります。 PriamryCustomerIDにはクライアントバンキングポートフォリオIDが含まれ、PositionCodeにはバンキング商品(WSOおよびPB)のコードが含まれます。SQLデータベースで1つの製品のみを持つクライアントを選択する

私はWSOのPositionCodeでクライアントを選択する必要がありますが、PBコードはありません。 PositionCodeがWSOのクライアントを選択した場合、PBクライアントは除外されますが、これはクライアントにPBがないことを意味しません。

親切に助けてください。 ありがとう

+0

あなたのデータを表示し、あなたの問題を明確にするためのサンプルデータを入力してください(positionCode =「PB」のxyzの からPrimaryCustomerIDを選択)ないでpositionCode =「WSO」とPrimaryCustomerID XYZ から*を選択します。 10行のデータで十分です。また、期待される結果を示します。 –

+0

sql-serverとmysql?どれ? – Tanner

+0

sql-serverを使用している場合、なぜmysqlにタグを付けますか? ...間違ったタグを削除してください – scaisEdge

答えて

0

これは、ポジションコードが 'WSO'で、ポジションコード= 'PB'のラインも持たないすべての顧客をリストします。 sql-serverとmySQLの両方で動作するはずです。

SELECT a.primaryCustomerID, a.PositionCode 
from table a 
where a.positionCode = 'WSO' 
and not exists (select 1 from table b where b.primaryCustomerID = a.primaryCustomerID and b.positionCode = 'PB') 
0

primaryCustomerID - 2

- PositionCode 1 PB 1 WSO 2 WSO 3 PB 4 PB 4 WSO

これはあなたのテーブルであり、あなたがプライマリ得意先を返すために、クエリを期待していると仮定すると、

ここでは、最適化されたクエリではなく、テーブル名がxyzであると仮定してmysqlのサンプルクエリを返しますが、結果2を返します。

関連する問題