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

哪裏是列d? SELECT ColD,................已足夠:) – zod 2010-11-19 18:59:41

+1

樣本輸入和預期輸出將有助於澄清要求 – Axn 2010-11-19 19:21:14

+1

如果您有特定需求,則需要指定它們。說「我要D列」,然後抱怨,當答案因爲未公開的關係而不起作用時,是無益的。 – JNK 2010-11-19 19:26:24

回答

0

RE:您的評論。「這導致具有非唯一可樂返回的行」

看着your previous question我認爲你需要像

;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

絕對是我在找的東西。非常感謝你。 – John 2010-12-05 19:22:06

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

這會導致返回具有非唯一ColA的行。 – John 2010-11-19 19:06:55

+1

如果您發佈代碼或XML,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼」按鈕(101 010)以精確地格式化和語法突出顯示它! – 2010-11-19 20:03:15

+0

@marc_s - 謝謝,我從來沒記得格式化SQL – StingyJack 2010-11-19 21:18:54