简体   繁体   English

使用SQL Server 2008从四个表中检索查询数据?

[英]Retrieving query data from four tables using SQL Server 2008?

I have four tables: 我有四个表:

  • Customer (ID, CustomerName, City) Customer (ID,客户名称,城市)
  • Product (pid, pname, sprice) Product (pid,pname,sprice)
  • Orders (OrderNum, CustomerID, EmpID, orderDate) Orders (OrderNum,CustomerID,EmpID,orderDate)
  • Sales (OrderNum, pid, qty, totalAmmount, payed, credit, CreditEndDate) Sales (OrderNum,pid,qty,totalAmmount,已支付,贷方,CreditEndDate)

I want to retrieve data from above four tables using the following query, but I encountered a problem where I can alias the sales table? 我想使用以下查询从四个以上的表中检索数据,但是遇到一个问题,我可以为sales表做别名吗?

SELECT 
    Cs.CustomerName, Cs.City, Crs.totalAmount, p.pname, Crs.qty,
    crs.totalAmount, crs.payed, Crs.credit, ord.orderDate,  
    Crs.CreditEndDate 
FROM 
    Customer Cs 
INNER JOIN 
    Orders ord ON Cs.ID = ord.CustomerID 
INNER JOIN
    Product p ON p.pid = Sales Crs.pid 
WHERE
    ord.OrderDate BETWEEN '01/01/2014' AND '01/01/2016' 
ORDER BY 
    [CustomerName]   

Is there any help? 有什么帮助吗? Thanks in advance. 提前致谢。

You need to join Sales table 您需要加入Sales

SELECT Cs.CustomerName,
       Cs.City,
       s.totalAmount,
       p.pname,
       s.qty,
       s.totalAmount,
       s.payed,
       s.credit,
       ord.orderDate,
       s.CreditEndDate
FROM   Customer Cs
       INNER JOIN Orders ord
               ON Cs.ID = ord.CustomerID
       INNER JOIN Sales s
               ON s.OrderNum = ord.OrderNum
       INNER JOIN Product p
               ON p.pid = s.pid
WHERE  ord.OrderDate BETWEEN '01/01/2014' AND '01/01/2016'
ORDER  BY [CustomerName] 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM