【问题标题】:database schema for customers客户的数据库模式
【发布时间】:2014-10-20 05:09:37
【问题描述】:

现在我有两个表订单和客户,每个订单都有他的客户。订单表包含有关订单的详细信息和他的客户 ID。

Customer 表包含有关客户的信息。问题是这些客户具有自然人的属性,因为到目前为止我只有自然人所有者。

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

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

【问题讨论】:

标签: mysql database qsqlquery


【解决方案1】:

订单表中可以同时放入自然人客户id和legal_entity_customers id,取客户时可以使用OR。

【讨论】:

  • 你能给我一个简单的查询示例,它会返回有关订单及其客户的所有信息吗?
  • 这样的事情应该可以工作 SELECT * FROM Orders a, Natural customer b,Legal Customer c WHERE a.naturalcustid=b.id OR a.legalcustid = c.id
  • 我认为这行不通,因为要从两个表中返回一些东西,将从一个表中返回正确的所有者,而在第二个表中将没有条件,因为是 OR
  • 我已经尝试过了,即使它没有 id = order.CustomerId 也似乎从合法客户返回最后一个,可能是因为他有一个列和他没有列的 OR ' t 并且它返回 1 不为什么
  • 可以试试 (a.naturalcustId != null and a.naturalcustid = b.id) OR (a.legalcustId != null and a.legalcustid = c.id)
猜你喜欢
  • 1970-01-01
  • 2010-10-11
  • 2021-04-20
  • 2017-05-29
  • 2014-02-19
  • 2023-03-17
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多