2015-12-18 34 views
0

我搜索了,找不到我的問題的解決方案。最小功能不起作用

看起來很簡單。

我正在使用SQL Server 2014,表日期列被定義爲varchar並被格式化爲'YYYYDDMM'。結果仍然給我多個日期。

任何幫助將不勝感激。

我的代碼

SELECT Part, 
    CASE WHEN CreateDate= '00000000' 
    THEN '' 
    ELSE MIN(CreateDate) 
    END 
as OrderDate 
INTO #Ord 
FROM POtbl, #PrtNoOrd WHERE part = partno AND PO like '4%' 
GROUP BY Part, CreateDate 
ORDER BY Part asc 

結果

Part   OrderDate 
-01-123456-01 20151211 
-01-123456-01 20151210 
-01-123456-01 20150306 
-02-276161-01 20150916 
+1

您按2列這就是爲什麼日期重複。 – Mihai

回答

2
Select Part, 
    min(CASE WHEN CreateDate= '00000000' 
    THEN '' 
    ELSE CreateDate 
    END) 
as OrderDate 
INTO #Ord 
FROM POtbl, #PrtNoOrd WHERE part = partno AND PO like '4%' 
GROUP BY Part 
ORDER BY Part asc 
0
Select Part, 
    CASE WHEN CreateDate= '00000000' 
    THEN '' 
    ELSE CreateDate 
    END 
as OrderDate 
INTO #Ord 
FROM POtbl, #PrtNoOrd WHERE part = partno AND PO like '4%' 
GROUP BY Part -- , CreateDate 
ORDER BY Part asc 
+0

爲什麼dowvote? – Roberto

+0

你不能像你一樣引用'createdate'非聚集。 –