2012-07-27 112 views
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 

我在哪裏迷路,如果我說得對,你只能做一個選擇......那麼我該如何整合這兩個?在此先感謝您的幫助。

+0

也許增加一些示例數據?有多個表嗎? – Andomar 2012-07-27 17:57:50

+0

你的問題是什麼?你的例子中只有一個「選擇」。無論「from」子句中有多少個表,您都可以對任何select查詢使用「top」子句。 – 2012-07-27 18:08:39

+0

你必須展示這些表格是如何鏈接的。什麼是外鍵?然後你可以使用連接。 – 2012-07-27 18:09:49

回答

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」來實現。

+1

你可能還需要'FROM SomeTable'在'ORDER BY'之前.... – 2012-07-27 18:11:17

+0

不要'忘記FROM,因爲它根本不會工作 – phadaphunk 2012-07-27 18:12:35

+0

,我想他問了一個ORDER BY unique_Column? – phadaphunk 2012-07-27 18:13:08

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

+0

上面使用的海報「FROM Table_Name ORDER BY unique_Column DESC」僅僅是一個例子。我不認爲他們打算將兩者合併成一個SQL語句。 – 2012-07-28 10:50:13

相關問題