前言
一對多,以多為查詢條件
正文
舉例:
兩張表,用戶表,物品表。一個用戶可以有多個物品,根據擁有的物品去查詢用戶。
| t_user表 | |
|---|---|
user_id |
user_name |
| 1 | 小王 |
| 2 | 小劉 |
| t_goods表 | |
|---|---|
g_id |
g_name |
| 1 | 手機 |
| 2 | 電腦 |
| 3 | 書包 |
| 4 | 筆 |
| 5 | 電視 |
| 6 | 游戲機 |
t_user_goods表 |
|
|---|---|
user_id |
g_id |
| 1 | 1 |
| 1 | 2 |
| 1 | 4 |
| 1 | 6 |
| 2 | 2 |
| 2 | 5 |
要根據選擇的物品,來篩選出擁有這些物品的人。
-- 傳入的參數分別是 物品id列表 和 物品id列表的數量
select * from t_user
where user_id in (
select user_id from t_user_goods
where g_id in (?)
group by user_id having count(user_id) >= ?
)
