两个表之间的SQL视图

时间:2015-08-13 07:27:18

标签: mysql sql select view

我的数据库中有两个表,我想创建一个包含所有信息的视图。 其中一个表格包含每个订单的详细信息,另一个表格包含这些订单的一般内容。

以下是表格的详细信息:

OrderRecords_table

_cal = [[CalVC alloc]initWithNibName:@"CalVC" bundle:nil];

OrderDetails_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 

这样的东西,所以在OrderRecords上,orderID是唯一的,orderDetails有每个项目的记录。

现在我正在创建一个需要来自两个表的详细信息的方法,如果我每次尝试在表中选择项目,那将会非常混乱,我想创建一个包含两个表的详细信息的视图。

我希望它成为以下内容:

查看V

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

创建此类视图的最佳方法是什么?感谢

1 个答案:

答案 0 :(得分: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