什么是在RDBMS中映射表的最简单方法

时间:2015-05-12 16:19:16

标签: sql database rdbms

我在客户支持上有一个数据库。 有4个表,其中包含一些属性: CustomerTable(身份证,姓名等) 产品表(身份证,姓名,价格等) Order_History(Id,Name,OrderDate,总价,CustomerId等) Order_details(Id,ProductId,Quantity等)

现在我必须通过SQL查询找出客户名称,产品名称日期,数量。

2 个答案:

答案 0 :(得分:0)

您还没有提供完整的架构,因此很难提供确切的查询,但据我所知,您需要提供的是什么?使用所有表之间的连接,并通过限制交叉产品的每个结果行来减少结果集,以便通过外键链接所有四个表:

SELECT CustomerTable.Name, ProductTable.Name, Order_History.OrderDate, Order_details.Quantity 
FROM CustomerTable, Order_History, Order_details, ProductTable 
WHERE CustomerTable.Id = Order_History.CustomerId AND Order_History.DetailsId = Order_details.ID AND ProductTable.Id = Order_details.ProductId;

请注意,我假设您尚未指定Order_History和Order_details(Order_History.DetailsId = Order_details.ID)之间存在外键关系。如果不存在这样的关系,您需要创建一个以使此查询起作用。

答案 1 :(得分:0)

试试以下

XmlDocument:                     1887930
XDocument:                       1297059
XmlReader:                       996636
XmlReader with reused NameTable: 961763

如果您想使用where条件,可以在查询的最后一行提及