我有一個返回兩個值的查詢。我想擁有最大的價值,所以我做了一組,然後MAX。但是,我有三個其他列(varchar),我希望與使用max引入的id保持一致。使用SQL組同時保持相同的varchar值
例子。
OId CId FName LName BName
18477 110 Hubba Bubba whoa
158 110 Test2 Person2 leee
我要的是 OID識別符FName參數LName的BNAME
18477 110 Hubba Bubba whoa
所以我想將它們按識別符。而且,我想保持最大的數字。我無法使用Min或Max作爲FName,LName或BName,因爲我希望它們成爲具有所選OId的那個。我甚至不需要其他行的FName,LName和BName。
我嘗試使用SELECT TOP,但只是從字面上拉一行,我需要多個。
SQL
INSERT INTO #CustomerInfoAll(FName, LName, BName, OwnerId, CustomerId)
SELECT
-- what goes here --(o.FirstName) AS FName,
-- what goes here --(o.LastName) AS LName,
-- what goes here --(o.BusinessName) AS BName,
MAX(o.OId) AS OId,
(r.CId) AS CId
FROM Owner o
INNER JOIN Report r
ON o.ReportId = r.ReportId
WHERE r.CId IN (SELECT CId FROM #ThisReportAll)
AND r.Completed IS NOT NULL
GROUP BY r.CId
ORDER BY OId DESC;
什麼版本的SQL Server? – ErikE
我目前使用的SQL Server是2008 R2 –