簡體   English   中英

sql 查詢以查找至少具有 2 種類型帳戶的用戶

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM