[英]sql query to find users with at least 2 types of accounts
我是關系 sql 的新手。 我試圖找出一個查詢來返回擁有多種類型帳戶的客戶的姓名。
顧客:
+------------+--------------+
| cid | Name |
+------------+--------------+
| 1 | Bob |
| 2 | John |
| 3 | Jane |
+------------+--------------+
帳戶:
+------------+--------------+
| aid | type |
+------------+--------------+
| 1 | Checking |
| 2 | Saving |
| 3 | CD |
+------------+--------------+
交易:
+------------+--------------+--------------+
| tid | cid | aid |
+------------+--------------+--------------+
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 1 | 2 |
| 4 | 2 | 3 |
| 5 | 3 | 1 |
+------------+--------------+--------------+
有了這些表,查詢應該返回 Bob 和 John。 我在編寫這樣的查詢時遇到了一些麻煩。 更具體地說,如何在不向表中添加新列的情況下計算客戶擁有的帳戶數量,以及如何比較帳戶是否不同?
好的,這似乎適用於我的測試數據結構的 SQL Fiddle。 用您的真實數據結構嘗試一下,看看它是否能滿足您的需求。
SELECT name FROM customers c WHERE EXISTS(
SELECT DISTINCT aid FROM transactions
WHERE cid = c.cid
HAVING COUNT(DISTINCT aid)>1
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.