我做了一些假设并创建了这个例子。
首先我创建了两个表,db_users 和 db_partners
插入了一些样本数据。我假设“用户”是
“合作伙伴”的销售经理和每个合作伙伴
被分配一个用户。用户可以有多个合作伙伴。
奇怪的是“国家”是用户的一个属性,
不是合作伙伴,但我就是这样解释这个例子的。
MariaDB [test_time]> create table db_users (
UserID int unsigned not null auto_increment primary key,
UserName varchar(20),
Country varchar(8)
);
MariaDB [test_time]> create table db_partners (
PartnerID int unsigned not null auto_increment primary key,
PartnerName varchar(20),
Created datetime,
Size int unsigned,
UserID int unsigned
);
MariaDB [test_time]> insert into db_users
(UserName,Country)
values
('Abel','CA'),
('Baker','CA'),
('Charlie','JP'),
('Donald','JP'),
('Edgar','JP')
;
MariaDB [test_time]> insert into db_partners
(PartnerName,Created,Size,UserID)
values
('Kraft',now(),45,1),
('Ford',now(),66,2),
('Hortons',now(),22,1),
('Kroger',now(),15,4)
;
然后我选择了关联用户在CA的合作伙伴:
MariaDB [test_time]> select
UserName,PartnerName
from
db_users join db_partners using (UserID)
where
Country='CA'
;
+----------+-------------+
| UserName | PartnerName |
+----------+-------------+
| Abel | Kraft |
| Abel | Hortons |
| Baker | Ford |
+----------+-------------+
3 rows in set (0.00 sec)
MariaDB [test_time]> select
count(Country)
from
db_users join db_partners using (UserID)
where
Country='CA'
;
+----------------+
| count(Country) |
+----------------+
| 3 |
+----------------+
1 row in set (0.00 sec)
我不确定这是你想要的。如果不是,请澄清你的
问题。