2014-10-20 64 views
0

现在我有两个表订单和客户,每个订单有他的customer.Orders表持有订单和他的客户ID的详细信息。数据库架构为客户

顾客桌子上有关于顾客的信息。事情是那些顾客拥有自然人的财产,因为直到现在我只有自然人的所有者。

现在我想添加客户的法定实体类型,但因为他们将具有与实际客户表完全不同的属性,并且因为将来我希望法律实体客户变得更加复杂,所以我需要为他们制作另一个表让我们说legal_entity_customers表。

因此,我将有3个表格订单,客户(代表自然人客户)和legal_entity_customers。问题是如何构造这3个表格或添加另一个表格,如果需要能够制作单一查询返回客户的订单(可以是来自客户的自然人表或legal_entity_customers表的合法实体)

+0

你应该在[程序员堆栈交换](http://programmers.stackexchange.com/)上提出这个问题。 – 2014-10-20 05:14:16

回答

0

您可以将自然人客户ID和legal_entity_customers ID放在订单表中,并且在获取客户时,您可以使用OR。

+0

你能给我一个简单的查询例子,它返回有关订单和他的客户的所有信息吗? – 2014-10-20 05:17:51

+0

这样的一些事情应该工作SELECT * FROM Orders a,Natural customer b,Legal Customer c WHERE a.naturalcustid = b.id OR a.legalcustid = c.id – 2014-10-20 05:37:23

+0

我不认为是工作,因为是戈纳返回的东西从这两个表将从一个表中返回正确的所有者,并且在第二个表中将没有任何条件,因为是OR – 2014-10-20 05:57:47