2014-10-20 65 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