2015-12-18 36 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'非聚集。 –