2015-10-07 71 views
-2

嗨,我想在sql中有这个查询如何将其更改为sql。将访问查询转换为sql 2012

SELECT Main.ID, Main.Name, Main.Family, Main.Mobile, Main.[Import Date], 
Main.Ostan, Main.City, Main.REP, Main.REP1, Main.ostan2, Main.City2, Main.Hospital, 
    Main.Expert, Main.Status, Main.Type, Main.Time, Last(Report.Date) AS LastOfDate, 
    Last(Report.NameP) AS LastOfNameP, Last(Report.NEXTC) AS LastOfNEXTC, Report.Nurse, 
    Last(Report.Brand) AS LastOfBrand, Last(Report.Paste) AS LastOfPaste, 
    Last(Report.Bag) AS LastOfBag, Last(Report.ACC) AS LastOfACC, Last(Report.BM) AS LastOfBM, 
    Last(Report.PM) AS LastOfPM, Last(Report.Bimeh) AS LastOfBimeh, Main.[Dead/ Heald Date], Main.[Operation Date] 
FROM Main INNER JOIN Report ON Main.ID = Report.ID 
GROUP BY Main.ID, Main.Name, Main.Family, Main.Mobile, Main.[Import Date], Main.Ostan, Main.City, Main.REP, 
Main.REP1, Main.ostan2, Main.City2, Main.Hospital, Main.Expert, Main.Status, Main.Type, Main.Time, Report.Nurse, Main.[Dead/ Heald Date], Main.[Operation Date]; 
+1

唯一的区别是'LAST',搜索如何做ACCESS中'LAST'做的事情,以及如何在SQL 2012中做同样的事情,如果你遇到过任何你曾经尝试过的麻烦。 –

回答

0

有关LAST和可能的解决方法的详细说明,请转到http://www.w3schools.com/sql/sql_func_last.asp。使用该页面的信息,我建议你尝试下面的代码 -

SELECT Main.ID, 
     Main.Name, 
     Main.Family, 
     Main.Mobile, 
     Main.[Import Date], 
     Main.Ostan, 
     Main.City, 
     Main.REP, 
     Main.REP1, 
     Main.ostan2, 
     Main.City2, 
     Main.Hospital, 
     Main.Expert, 
     Main.Status, 
     Main.Type, 
     Main.Time, 
     (SELECT TOP 1 Report.Date 
     FROM Report 
     ORDER BY Repoort.Date DESC) AS LastOfDate, 
     (SELECT TOP 1 NameP 
     FROM Report 
     ORDER BY NameP DESC) AS LastOfNameP, 
     (SELECT TOP 1 NextC 
     FROM Report 
     ORDER BY NextC DESC) AS LastOfNextC, 
     Report.Nurse, 
     (SELECT TOP 1 Brand 
     FROM Report 
     ORDER BY Brand DESC) AS LastOfBrand, 
     (SELECT TOP 1 Paste 
     FROM Report 
     ORDER BY Paste DESC) AS LastOfPaste, 
     (SELECT TOP 1 Bag 
     FROM Report 
     ORDER BY Bag DESC) AS LastOfBag, 
     (SELECT TOP 1 ACC 
     FROM Report 
     ORDER BY ACC DESC) AS LastOfACC, 
     (SELECT TOP 1 BM 
     FROM Report 
     ORDER BY BM DESC) AS LastOfBM, 
     (SELECT TOP 1 PM 
     FROM Report 
     ORDER BY PM DESC) AS LastOfPM, 
     (SELECT TOP 1 Bimeh 
     FROM Report 
     ORDER BY Bimeh DESC) AS LastOfBimeh, 
     Main.[Dead/ Heald Date], 
     Main.[Operation Date] 
FROM Main INNER JOIN Report ON Main.ID = Report.ID 
GROUP BY Main.ID, 
     Main.Name, 
     Main.Family, 
     Main.Mobile, 
     Main.[Import Date], 
     Main.Ostan, 
     Main.City, 
     Main.REP, 
     Main.REP1, 
     Main.ostan2, 
     Main.City2, 
     Main.Hospital, 
     Main.Expert, 
     Main.Status, 
     Main.Type, 
     Main.Time, 
     Report.Nurse, 
     Main.[Dead/ Heald Date], 
     Main.[Operation Date]; 

我希望这证明有帮助。

如果您有任何问题,请随时回复。

+0

嗨。 Tnx为您的答复。 但它没有工作,所以我试图澄清我想要什么。 谢谢 – Morteza

+0

http://stackoverflow.com/questions/33051258/sql-query-with-join-and-group-by-and 这里是问题的链接 – Morteza