1
Sql Server 2008 Datediff带有select语句中的条件。datediff带有选择条件的条件
我有下面的查询,需要帮助理解为什么我得到这些结果和我的问题的最佳解决方案。
SELECT DISTINCT l.program, l.id
,(DATEDIFF(DAY, B.FIRST_DT , B.FIRST_second_DT))days_between1
,(DATEDIFF(DAY, C.FIRST_DT , C.FIRST_second_DT))days_between2
FROM l
LEFT JOIN l B ON L.id = B.id AND L.SERVICE_DATE = B.SERVICE_DATE
AND B.FIRST_DT IS NOT NULL AND B.FIRST_DT IS NOT NULL
AND l.IS ='0' AND L.FIRST_V_DT IS NOT NULL
LEFT JOIN l C ON L.id = C.id AND L.SERVICE_DATE = C.SERVICE_DATE
AND C.FIRST_DT IS NOT NULL
AND C.FIRST_A_DT IS NOT NULL AND L.IS ='1'
AND L.FIRST_DT IS NOT NULL
WHERE 1=1
我得到两条线
Program id daysbetween1 daysbetween2
blue 1 null 3
blue 1 4 null
如何获取一条线,如下图所示,为什么我会收到两行呢?
Program id daysbetween1 daysbetween2
blue 1 4 3
示例数据将有助于此处。 http://stackoverflow.com/help/how-to-ask –
当然,你会得到不同的行,要么L.IS ='0'或L.IS ='1'... – jarlh
是要做我的L .IS = 0 AND L.IS = 1和我的内部联接。我将处理样本数据。 –