从两个不同的数据库加入3个表?

时间:2014-10-27 15:46:12

标签: mysql sql database

数据库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查询,并创建了表格#34; userlogged"。

现在,我想结合两个表格和#34;坐标"和"用户记录"通过加入表"工作站" 与他们的关系" station_number"字段和" pod"来自的领域。我怎样才能做到这一点?以下是我尝试过的查询但不起作用。

我在"坐标"中有额外的字段。 table(具有实际坐标的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 个答案:

答案 0 :(得分: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

不确定数据库和表名,它们在您的示例查询和描述之间似乎有所不同。