如何選擇只有 1 個 CA 帳戶和 1 個 SA 帳戶的 LINK_USER_ID。有些用戶有 2 個 CA 和 1 個 SA,或者只有 1 個 CA,或者只有 1 個 SA,使用 SQL 查詢。
注意:1 個 LINK_USER_ID 可以鏈接到多個 LINK_CIS_NO。
樣本資料
| LINK_ODDS_NO | LINK_ACCT_NO | LINK_USER_ID | LINK_CIS_NO | LINK_ACCT_TYPE |
|---|---|---|---|---|
| 124770648 | 3180879599940 | 99134982 | 3236463 | 加州 |
| 124770649 | 3180879599941 | 99134982 | 3236464 | 南非 |
| 124770650 | 3180879599942 | 99134981 | 3236465 | 加州 |
| 124770651 | 3180879599943 | 99134981 | 3236466 | 南非 |
| 124770652 | 3180879599944 | 99134984 | 3236455 | MC |
| 124770653 | 3180879599945 | 99134984 | 3236478 | 加州 |
| 124770654 | 3180879599946 | 99134985 | 32364688 | 加州 |
| 124770655 | 3180879599947 | 99134985 | 3236556 | 南非 |
| 124770656 | 3180879599948 | 99134986 | 3244879 | 南非 |
預期結果
| LINK_USER_ID |
|---|
| 99134982 |
uj5u.com熱心網友回復:
按 id 聚合并有條件地計數:
select link_user_id
from mytable
group by link_user_id
having count(case when link_acct_type = 'CA' then 1 end) = 1
and count(case when link_acct_type = 'SA' then 1 end) = 1`.
uj5u.com熱心網友回復:
select LINK_USER_ID
from table
where LINK_ACCT_TYPE in ('CA', 'SA')
group by LINK_USER_ID
having count(distinct LINK_ACCT_TYPE) = 2
該查詢按 LINK_USER_ID 對資料進行分組,然后檢查 LINK_ACCT_TYPE(CA 和 SA)是否有兩個不同的值。如果有,則該 LINK_USER_ID 包含在結果中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/516037.html
標籤:sql甲骨文
下一篇:獲取存盤在不同表中的列名
