2015-08-13 112 views
1

我在我的數據庫中有兩個表,我想創建一個包含所有信息的視圖。 其中一個表格包含每個訂單的詳細信息,另一個表格包含這些訂單的一般信息。兩個表之間的SQL視圖

這裏是表的細節:

OrderRecords_table

OrderID|CustomerCode|Customer|Address|PickupLocation|TotalPrice|CreateTime 
C00001 |AB001  |ABC Co. |CA  | Store  |5   |2015-01-01 
C00002 |BC002  |BC Co. |CA  | store  |5.5  |2015-01-01 

OrderDetails_table

OrderID|Company|ItemName|Amount|unitPrice|CreateTime   
C00001 |ABC Co.|apple |1  |2  |2015-01-01 01:01:01 
C00001 |ABC Co.|Orange |3  |3  |2015-01-01 01:01:01 
C00002 |BC Co. |candy |5  |1  |2015-01-01 03:01:01 
C00002 |BC Co. |pan  |1  |2  |2015-01-01 03:01:01 
C00002 |BC Co. |ruler |2  |2.5  |2015-01-01 03:01:01 

像這樣的事情,所以就OrderRecords,單編號是唯一的,訂單明細有每個項目的記錄。

現在我正在創建一個方法,它需要來自兩個表的詳細信息,如果我每次嘗試在表中選擇項目,並且我想創建一個包含兩個表的詳細信息的視圖。

我想這是東西如下:

視圖V

OrderID|Company|CustomerCode|Address|ItemName|Amount|UnitPrice|CreateTime 
C00001 |ABC Co.|AB001  |CA  |apple |1  |2  |2015-01-01 
C00001 |ABC Co.|AB001  |CA  |orange |3  |3  |2015-01-01 
C00002 |BC Co. |BC002  |CA  |candy |5  |1  |2015-01-01 
C00002 |BC Co. |BC002  |CA  |pan  |1  |2  |2015-01-01 
C00002 |BC Co. |BC002  |CA  |ruler |2  |2.5  |2015-01-01 

什麼的最好方式是創造這樣的說法?由於

+0

退房'MySQL的內部join'和你的情況,你會用'OrderID'加入兩個表。 –

+0

@AbhikChakraborty感謝編輯它,我會看看內部加入 –

回答

0

你可以使用一個連接:

CREATE VIEW v AS 
SELECT orec.OrderID, 
     od.Company, 
     orec.CustomerCode, 
     orec.Address, 
     od.ItemName, 
     od.Amount, 
     od.unitPrice, 
     od.CreateTime 
FROM OrderRecords orec 
JOIN OrderDetails od ON orec.OrderId = od.OrderId 
+0

感謝您的答覆,但最後一部分 ''從OrderRecords或 JOIN OrderDetails OD ON or.OrderId = od.OrderId''什麼這或做,因爲它顯示爲mysql上的錯誤 –

+0

我已經陷入了'OrderRecords'的縮寫'或',我甚至沒有意識到我正在使用保留字。修正了,看我編輯的答案。 – Mureinik

+0

我很困惑這裏 '從OrderRecords orec'我thuoght orec是一樣的OrderRecords在你的答案? –