2010-11-19 9 views
-1
SELECT ColA, MAX(CONVERT(varchar(15),ColB) + ' ' + CONVERT(varchar(15),ColC)) 
FROM  dbo.TableX 
GROUPBY ColA 
+0

wo Spalte D? SELECT ColD, ................ ist genug :) – zod

+1

Beispieleingabe und erwartete Ausgabe helfen, die Anforderung zu klären – Axn

+1

Wenn Sie spezifische Bedürfnisse haben, müssen Sie sie angeben. Zu sagen: "Ich will Spalte D", dann beschweren sich, wenn die Antworten wegen geheimer Beziehungen nicht funktionieren, ist nicht hilfreich. – JNK

Antwort

0

RE zurück: Ihr Kommentar „Dies bewirkt, dass Zeilen zurückgegeben werden, die nicht eindeutige ColA haben“

bei your previous question Blick Ich glaube, Sie so etwas wie

brauchen
;WITH X AS 
(
SELECT ColA, 
     ColD, 
     RANK() OVER (PARTITION BY ColA ORDER BY CONVERT(varchar(15),ColB) + ' ' + CONVERT(varchar(15),ColC) DESC) Rnk 
FROM  dbo.TableX 
) 
SELECT ColA, ColD, Rnk 
FROM X 
WHERE Rnk = 1; 
+0

Absolut, was ich gesucht habe. Vielen Dank. – John

3
SELECT 
    ColA, MAX(CONVERT(varchar(15),ColB) + ' ' + CONVERT(varchar(15),ColC)), 
    ColD 
FROM 
    dbo.TableX 
GROUP BY 
    ColA, ColD 
+0

Dadurch werden Zeilen zurückgegeben, die nicht eindeutige ColA aufweisen. – John

+1

Wenn Sie Code oder XML posten, ** bitte ** markieren Sie diese Zeilen im Texteditor und klicken Sie auf die Schaltfläche "Code" (101 010) auf der Symbolleiste des Editors, um sie schön zu formatieren und zu markieren! –

+0

@marc_s - Danke, ich erinnere mich nie daran SQL zu formatieren – StingyJack

Verwandte Themen