2016-04-07 43 views
0

我有一個具有primaryCustomerID和PositionCode列的表。 PriamryCustomerID包含客戶銀行投資組合ID,並且PositionCode包含銀行產品(WSO和PB)的代碼。在SQL數據庫中選擇只有一個產品的客戶端

我必須選擇WSO PositionCode的客戶端,但是一定不能有PB代碼。 如果選擇PositionCode爲WSO的客戶端,它將排除PB客戶端,但這並不意味着客戶端沒有PB。

好心協助。 謝謝

+0

請提供樣本數據來顯示您的數據,並明確您的問題(從XYZ 其中positionCode = 'PB' 選擇PrimaryCustomerID)。 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 - PositionCode 1 PB 1 WSO 2 WSO 3 PB 4 PB 4 WSO

假設這是你的表和你期望查詢返回主客戶ID - 2

這裏是一個在MySQL中的示例查詢(假設表名爲xyz),而不是優化的查詢,但返回結果2,

SELECT * FROM XYZ 其中positionCode = 'WSO' 和PrimaryCustomerID不

相關問題