我有一個具有primaryCustomerID和PositionCode列的表。 PriamryCustomerID包含客戶銀行投資組合ID,並且PositionCode包含銀行產品(WSO和PB)的代碼。在SQL數據庫中選擇只有一個產品的客戶端
我必須選擇WSO PositionCode的客戶端,但是一定不能有PB代碼。 如果選擇PositionCode爲WSO的客戶端,它將排除PB客戶端,但這並不意味着客戶端沒有PB。
好心協助。 謝謝
我有一個具有primaryCustomerID和PositionCode列的表。 PriamryCustomerID包含客戶銀行投資組合ID,並且PositionCode包含銀行產品(WSO和PB)的代碼。在SQL數據庫中選擇只有一個產品的客戶端
我必須選擇WSO PositionCode的客戶端,但是一定不能有PB代碼。 如果選擇PositionCode爲WSO的客戶端,它將排除PB客戶端,但這並不意味着客戶端沒有PB。
好心協助。 謝謝
這將列出所有客戶的位置代碼='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')
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不
請提供樣本數據來顯示您的數據,並明確您的問題(從XYZ 其中positionCode = 'PB' 選擇PrimaryCustomerID)。 10行數據就足夠了。另外,顯示預期的結果。 –
sql-server和mysql?哪一個? – Tanner
如果您使用sql-server爲什麼要標記mysql? ...請刪除不正確的標籤 – scaisEdge