如何使用其他数据库作为参考从 mysql 数据库中检索用户数



>我有一个问题。我在 mysql DB 表1、表2 和表3 中有 3 个表。我使用 PHP 退休并写入所有信息。

表1列出了我为他们创建的ID的组织列表:

Name of ogranisation | Organisation ID
--------------------------------------
org1                 | 123
org2                 | 234
org3                 | 345

2 列出了这些组织正在使用的服务,以及它们所属的 ID 和表 1 中组织的 ID:

Name of service | Service ID | ID of organisation it belongs to
---------------------------------------------------------------
service1        | a1         | 123
service2        | b2         | 123
service3        | c5         | 345

3 包含用户列表,其中包含他们在表 2 中提供的服务的 ID:

Name of User | Service ID 
-------------------------
user1        | a1
user2        | a1
user3        | c5
user4        | b2

现在,我需要使用这些表从 table3 中获取为组织提供服务的用户数量。就像你看表2,你可以看到ID(123)的org1被提供服务1(a1)和服务2(b2),在表3中你可以看到有3个用户提供服务a1(2x)和b2,所以有3个用户向org1提供服务。

如何使用 PHP 从 DB 中获取该数字。

请帮忙,谢谢

试试这个

SELECT COUNT(DISTINCT(user)) as cnt
FROM `table3` A
INNER JOIN `table2` B ON A.service_id = B.service_id
INNER JOIN `table1` C ON B.organization_id = C.organization_id
AND C.organization_id =123

小提琴

要执行 SQL,请使用例如 PDO、mysqli

查询如下所示

SELECT
    u.name
FROM user u
    INNER JOIN service s
        ON u.serviceId = s.serviceId
    INNER JOIN ogranisation o
        ON s.ogranisationId = o.ogranisationId

最新更新