-1

我有一个数据库,其中的表如下:

表名:userDB
列名:(user_id客户 ID)、reseller_id(已向客户出售连接的经销商)

表名:serverDB
列名:server_id(SERVER'S ID) , status(UP OR DOWN STATUS - if 1 DOWN, if 0 UP)

表名:usageDB_january
列名:user_id(CUSTOMER'S ID) , server_id(SERVER'S ID)
...
表名:usageDB_december
列名:user_id(CUSTOMER'S ID) , server_id(SERVER'S ID) 注意:每个月
有 12 个表。usageDB_januaryusageDB_december

在 PHP 页面中,我列出了server_id哪些是 DOWN(状态 1)

__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __
| 序列号 | DOWN SERVERS ID |
| 1 | 28839 |
| 2 | 20283 |
_ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ __ _ __ _ __ _ _

虽然我将单击 DOWN SERVERS 的 ID,但我想显示该 SERVER ID 下的 RESELLERS 列表。

我不明白如何编写 MySQL 查询。

你能帮帮我吗?请?

我无法更改数据库表结构。我不明白这个查询。

SELECT reseller_id
FROM userDB
WHERE user_id= (
SELECT user_id
FROM usageDB_january
WHERE server_idLIKE '17090'
UNION
SELECT user_id
FROM usageDB_february
WHERE server_idLIKE '17090'
);

错误:#1242 - 子查询返回超过 1 行

4

1 回答 1

0

您可以将其用于您的查询:

SELECT user_id, server_id, reseller_id
FROM usageDB_january
JOIN userDB ON usageDB_january.user_id=userDB.user_id
UNION
SELECT user_id, server_id, reseller_id
FROM usageDB_february
JOIN userDB ON usageDB_february.user_id=userDB.user_id
UNION
// ... continue with all the other months
于 2013-06-23T05:17:27.553 回答