2012-06-11 35 views
1

我需要创建一个表,将两个数据库表结合在一起。两个数据库都有一个共享一个公共列的表:核心。结合2个数据库来创建一个共同列的表

所以我需要每一行来显示常见的“核心”。

我是否需要创建一个单独的数据库来实现此目的?

Database: hero 
Table: cartons_current 
+---------+ 
| date | 
+---------+ 
| core | 
+---------+ 
| qty  | 
+---------+ 

Database: hero_label 
Table: labels_current 
+---------+ 
| date | 
+---------+ 
| core | 
+---------+ 
| qty  | 
+---------+ 
+0

这是mySQL添加信息 – Erik

+0

您的示例提供了两个具有相同列名称的表。这与你在散文中提出的建议相矛盾。你能否澄清是否存在错字,或者如果不是这种误解? –

+0

是的。有两个不同的数据库和表具有相同的列名。每个表都有对应的列,其值不同。我需要两个记录在一个表格行中一起显示。 – Erik

回答

1
SELECT h.*, hl.date, hl.qty FROM hero h, hero_label hl WHERE h.core = hl.core 

,将显示所有在H表中的值,以及作为值从HL表,其中它们都具有相等的芯柱值。这是你想要的?

编辑

对不起,我没有看到他们是分开的表。对我的监督。

,你可以访问数据库和两个表是SHOULD工作试试这个

SELECT hero.cartoons_label.*, hero_label.labels_current.date, hero_label.labels_current.qty 
FROM hero.cartoons_label, hero_label.labels_current 
WHERE hero.cartoons_label.core = hero_label.labels_current.core 

只要。

+0

我正在创建一个新的数据库来执行此操作,还是可以在其中一个现有数据库中执行此操作? – Erik

+0

这不起作用,因为这些表位于不同的数据库中。 –

+0

@Erik这个查询基本上都会使用这两个表并创建一个结果,它将两个查询中的所有列组合在一起,它们具有等效的核心列值。如果你想用它作为自己的表,你可以创建一个视图。然后,当查询它时,你只会使用像“SELECT * FROM hero_view” – Tony318

相关问题