2011-09-19 31 views
0

我想在我的Hotel management项目中加入2个或更多表格,那么连接表格的步骤是什么? 是否有必要在每个表中为我们需要加入或不加外键的工作提供外键?在php-mysql中加入2个或更多表格

+0

你的问题不是很清楚......你能更全面地描述情况吗?你想要合并哪两张表,以及预期的结果是什么? –

+0

我创建了以下表 - 1)获分配 2)做客 3)菜单 4)ordersfood 5)室6)退房 – Max

+0

你想加入和什么方式什么表? –

回答

0

不,您不需要专门使用外键,尽管您可能会使用相同的外键。 (注意,默认引擎MyISAM不支持外键,如果你想使用它们,使用InnoDB或$ otherEngine)。

对于连接,我建议阅读the documentation on joins

+0

感谢您的回复。 – Max

1

的步骤是:

  1. JOIN查询。你完成了!

您可以JOIN使用既不是主键也不是外键的列。例如,

select * 
from (select 'x' as a) t1 
inner join (select 'x' as a) t2 on t1.a = t2.a 

查询有一个JOIN子句和ON条款。 JOIN条款说what type of JOIN它是哪个表和JOIN编辑。 ON子句指定将哪些列设置为JOIN

+0

感谢回答当然,所有的客人不会点菜的 – Max

+0

,所以这些表将需要与左接合加入。 – HLGEM

0

简单连接,无冗余ID输出:

SELECT * FROM foo JOIN bar USING(id);

假设id列在两个表中都被定义为主键,因此创建了要连接的表之间的关系。

但是,根据您拥有的标准和要求,有不同类型的连接(自然,直线,左,右)。查看MySQL API手册,它会为您提供足够的信息。

-1

我认为你的情况(如上文所述),创建一个PHP文件来分别为每个表获取客户数据会更有意义,至少对我来说似乎是JOINing 6表格在一起将会非常麻烦,并且不能以实际的方式非常有效。