连接来自两个不同数据库的 3 个表?
Posted
技术标签:
【中文标题】连接来自两个不同数据库的 3 个表?【英文标题】:Joining 3 tables from two different Databases? 【发布时间】:2014-10-27 15:46:12 【问题描述】:数据库 1(2 个表):sandbox_maesc4
表1:坐标
+----------------------------------------+
|coord_id | section_name | station_number|
+----------------------------------------+
| 1 | A | A7 |
| 2 | B | B20 |
| 3 | C | C3 |
| 4 | D | D14 |
| 5 | E | E9 |
+----------------------------------------+
表 2:workstation_userlogged
+----------------------------------+
| id | ws | user |
+----------------------------------+
| 1 | COMP123 | ryan |
| 2 | COMP345 | luda |
| 3 | COMP567 | chris |
| 4 | COMP891 | michel|
| 5 | COMP444 | isabel|
+----------------------------------+
数据库 2(1 个表):softphone_materials_updater
表 1:工作站
+----------------------------+
| ID | ws | pod |
+----------------------------+
| 1 | COMP123 | A07 |
| 2 | COMP345 | B20 |
| 3 | COMP567 | C03 |
| 4 | COMP891 | D14 |
| 5 | COMP444 | E09 |
+----------------------------+
问题:
我在数据库 2 中只有读取权限。 所以我对这两个字段进行了 SELECT 查询并创建了“userlogged”表。
现在,我想通过加入表“工作站”来合并两个表“坐标”和“用户登录” 与它们的“station_number”字段和“pod”字段的关系。我怎样才能做到这一点?以下是我尝试过但不起作用的查询。
我在“坐标”表中有额外的字段(带有实际坐标的 X、Y 字段)。在 php 中,我使用所有字段在屏幕上显示它们。
SELECT
coordinate_id,
section_name,
x_coord,
y_coord,
ws.username,
ws.hostname,
w.pod,
FROM
sandbox_maesc4.coordinates c,
sandbox_maesc4.workstation_userlogged ws
INNER JOIN
softphone_materials_updater.workstations w
ON c.station_number = w.pod
【问题讨论】:
究竟是什么没用? 查询没有选择我要显示的字段 【参考方案1】:我想这也许就是你想要的?
SELECT
coordinate_id,
section_name,
x_coord,
y_coord,
wsu.username,
wsu.hostname,
w.pod
FROM
sandbox_maesc4.coordinates c
INNER JOIN
softphone_materials_updater.workstations w
ON c.station_number = w.pod
INNER JOIN
sandbox_maesc4.workstation_userlogged wsu
ON w.ws = wsu.ws
不确定数据库和表名,它们似乎在您的示例查询和描述之间有所不同。
【讨论】:
我更新了名称和所有内容。您给我的查询仍然不起作用。坐标表有“x_coord”和“y_coord”字段,我没有包括在图中。再次感谢 当你说它不起作用时,问题是什么?你得到一个错误还是你没有得到正确的结果?在您的表描述中似乎没有任何 username 和 hostname 列,也许它应该是 wsu.user as username 和 wsu.ws 作为主机名 ? 实际上我只是让它工作,在 w.pod 之后有一个额外的“,”。我刚刚将查询修改为所需的内容。非常感谢!以上是关于连接来自两个不同数据库的 3 个表?的主要内容,如果未能解决你的问题,请参考以下文章