0

我来自具有一点 mySQL 的访问背景,所以在谈到 SQL 时我有点迷茫。

这是我正在使用的查询:

Select 
    tbl_AcerPFSSurveyIVR.NTlogin,
    tbl_AcerPFSSurveyIVR.Customer_Firstname,
    tbl_AcerPFSSurveyIVR.Customer_Lastname,
    tbl_AcerPFSSurveyIVR.CaseId,
    tbl_AcerPFSSurveyIVR.ContactNumber,
    CRM_TRN_ORDER.ORDER_PRICE,
    CRM_TRN_ORDER.ORDER_CREATEDDATE

这会返回正确的记录,但我想要最后一个......我知道我应该使用这样的东西......

SELECT TOP 1 * 
FROM table_Name 
ORDER BY unique_column DESC

我迷路的地方,如果我说得对,您只能做一个 Select... 那我该如何整合两者呢?在此先感谢您的帮助。

4

2 回答 2

2

你想要的是这样的:

SELECT TOP(1) 
  tbl_AcerPFSSurveyIVR.NTlogin,
  tbl_AcerPFSSurveyIVR.Customer_Firstname,
  tbl_AcerPFSSurveyIVR.Customer_Lastname,
  tbl_AcerPFSSurveyIVR.CaseId,
  tbl_AcerPFSSurveyIVR.ContactNumber,
  CRM_TRN_ORDER.ORDER_PRICE,
  CRM_TRN_ORDER.ORDER_CREATEDDATE
FROM
  tbl_AcerPFSSurveyIVR
JOIN CRM_TRN_ORDER
    ON tbl_AcerPFSSurveyIVR.CustomerId = CRM_TRN_ORDER.CUSTOMERID
ORDER BY
  CRM_TRN_ORDER.ORDER_CREATEDDATE DESC

注意:我编写了 JOIN 子句,因为我不知道您的架构。假设存在某种外键关系,您应该选择满足连接的真实列。否则,您将只是采用笛卡尔积,这很可能不是您想要的。但是,您可以通过将上面的 FROM ... JOIN 子句替换为“FROM tbl_AcerPFSSurveyIVR, CRM_TRN_ORDER”来做到这一点。

于 2012-07-27T18:08:18.293 回答
0

你有没有尝试过 :

Select TOP (1)
tbl_AcerPFSSurveyIVR.NTlogin,
tbl_AcerPFSSurveyIVR.Customer_Firstname,
tbl_AcerPFSSurveyIVR.Customer_Lastname,
tbl_AcerPFSSurveyIVR.CaseId,
tbl_AcerPFSSurveyIVR.ContactNumber,
CRM_TRN_ORDER.ORDER_PRICE,
CRM_TRN_ORDER.ORDER_CREATEDDATE 
FROM Table_Name ORDER BY unique_Column DESC

这包括您之前的查询中的前 1 个并同时按降序过滤请求。我理所当然地认为第一个SELECT来自table_name.

于 2012-07-27T18:08:52.193 回答