如果我删除Where子句,下面提到的查询工作正常..任何建议请??
SELECT dbo.MPProjektBuchungserfassung.BuchungsErfassungID, dbo.MPProjektBuchungserfassung.QuellReferenz, dbo.MPProjektstamm.Projektnummer,
dbo.MPProjektstamm.Projekttyp, dbo.MPProjektstamm.Matchcode AS ProjektMatchcode, dbo.MPProjektPhasen.PhasenID,
dbo.MPProjektPhasen.Phase AS PhasenMatchcode, MPProjektleiterstamm.Personalnummer AS ProjektLeiternummer,
MPProjektleiterstamm.Matchcode AS ProjektLeiterMatchcode, dbo.MPVKVertraege.VertragsID, dbo.MPVKVertraege.Vertragsnummer,
dbo.MPVKVertraege.Bezeichnung, dbo.MPVKVertraege.KHKMandant, dbo.MPVKVertraege.Referenznummer,
dbo.MPVKVertraege.Referenzzeichen, dbo.MPVKVertraegePositionen.Vertragsposition, dbo.MPVKVertraegePositionen.Matchcode AS PositionsMatchcode,
dbo.MPHotlineAnfrage.AnfrageID, dbo.MPHotlineAnfrage.Kurzbeschreibung, dbo.MPHotlineAnfrage.AnfrageText, dbo.MPHotlineAnfrage.CardCode,
dbo.MPHotlineAnfrage.AdressMatchcode, dbo.MPHotlineAnfrage.Referenz, dbo.MPPersonenstamm.Personalnummer, IsNull(dbo.MPVKVertraegePositionen.USER_Ratio, 1) AS 'Ratio',
dbo.MPPersonenstamm.Matchcode AS PersonalMatchcode, dbo.MPVKVertraege.Projektnummer,
case dbo.MPPerioden.BezeichnungPeriode when 'Januar' then '01.January' when 'Februar' then '02.February' when 'März' then '03.March'
when 'April' then '04.April' when 'Mai' then '05.May' when 'Juni' then '06.June'
when 'Juli' then '07.July' when 'August' then '08.August' when 'September' then '09.September'
when 'Oktober' then '10.October' when 'November' then '11.November' when 'Dezember' then '12.December'
End as 'Month',dbo.MPPerioden.BezeichnungJahr,
dbo.MPProjektBuchungskopf.Periode, dbo.MPProjektBuchungserfassung.LeistungsTag, dbo.MPProjektBuchungserfassung.Menge,
dbo.MPProjektBuchungserfassung.MengeFAK as 'Horas', dbo.MPProjektBuchungserfassung.Aktivitaet, dbo.MPProjektBuchungserfassung.Memo,
dbo.MPProjektBuchungserfassung.Freigabe, MPProjektLeistungserfassung.FakturaID,
CASE dbo.MPHotlineAnfrage.Status WHEN '1' THEN 'New' WHEN '2' THEN 'In Process' WHEN '3' THEN 'Customer Action' WHEN '4' THEN '3rd Party Investigation' WHEN
'5' THEN 'Closed' END AS 'Status',dbo.MPPerioden.Periode as 'Ind Periode',
T2.ContractNo,T2.Contract_Desc, ISNULL(T2.Q1, 0) AS 'Q1',
ISNULL(T2.January, 0) AS 'January', ISNULL(T2.February, 0) AS 'February', ISNULL(T2.March, 0) AS 'March',
ISNULL(T2.Invoiced_Q1, 0) AS 'Invoiced_Q1', ISNULL(T2.Q2, 0) AS 'Q2', ISNULL(T2.April, 0) AS 'April',
ISNULL(T2.May,0) AS 'May', ISNULL(T2.June, 0) AS 'June', ISNULL(T2.Invoiced_Q2, 0) AS 'Invoiced_Q2',
ISNULL(T2.Q3, 0) AS 'Q3', ISNULL(T2.July, 0) AS 'July', ISNULL(T2.August, 0) AS 'August',
ISNULL(T2.Invoiced_Q3, 0) AS 'Invoiced_Q3', ISNULL(T2.Q4, 0) AS 'Q4', ISNULL(T2.September, 0) AS 'September',
ISNULL(T2.October, 0) AS 'October',ISNULL(T2.November, 0) AS 'November', ISNULL(T2.December, 0) AS 'December',
ISNULL(T2.Invoiced_Q4, 0) AS 'Invoiced_Q4',T2.Remaining_Year, T2.Comments, T2.Q1_Comments, T2.January_Comments,
T2.February_Comments, T2.March_Comments, T2.Q2_Comments, T2.April_Comments, T2.May_Comments, T2.June_Comments,
T2.Q3_Comments, T2.July_Comments, T2.August_Comments,T2.September_Comments, T2.Q4_Comments, T2.October_Comments,
T2.November_Comments, T2.December_Comments
, (SELECT Count(MPProjektLeistungserfassung.BuchungserfassungID) AS LCount
FROM MPProjektLeistungserfassung
WHERE MPProjektLeistungserfassung.BuchungserfassungID = MPProjektBuchungserfassung.BuchungsErfassungID
AND MPProjektLeistungserfassung.Position > 0) AS Zuschlag
FROM dbo.MPProjektBuchungserfassung INNER JOIN
dbo.MPProjektBuchungskopf ON dbo.MPProjektBuchungserfassung.BuchungsKopf = dbo.MPProjektBuchungskopf.BuchungsKopfID INNER JOIN
dbo.MPProjektLeistungserfassung AS MPProjektLeistungserfassung ON
dbo.MPProjektBuchungserfassung.BuchungsErfassungID = MPProjektLeistungserfassung.BuchungserfassungID AND
MPProjektLeistungserfassung.Position = 0 INNER JOIN
dbo.MPProjektstamm ON dbo.MPProjektBuchungserfassung.Projektnummer = dbo.MPProjektstamm.Projektnummer INNER JOIN
dbo.vwMPProjektleiter ON dbo.vwMPProjektleiter.Projektnummer = dbo.MPProjektBuchungserfassung.Projektnummer LEFT OUTER JOIN
dbo.MPProjektPhasen ON dbo.MPProjektBuchungserfassung.PhasenID = dbo.MPProjektPhasen.PhasenID INNER JOIN
dbo.MPVKVertraege ON MPProjektLeistungserfassung.VertragsID = dbo.MPVKVertraege.VertragsID INNER JOIN
dbo.MPVKVertraegePositionen ON MPProjektLeistungserfassung.Vertragsposition = dbo.MPVKVertraegePositionen.Vertragsposition left outer JOIN
dbo.MPHotlineAnfrage ON dbo.MPHotlineAnfrage.AnfrageID = dbo.MPProjektBuchungserfassung.QuellReferenz INNER JOIN
dbo.MPPersonenstamm AS MPProjektleiterstamm ON dbo.vwMPProjektleiter.Personalnummer = MPProjektleiterstamm.Personalnummer INNER JOIN
dbo.MPPersonenstamm ON dbo.MPProjektBuchungskopf.Personalnummer = dbo.MPPersonenstamm.Personalnummer INNER JOIN
dbo.MPPerioden ON dbo.MPProjektBuchungskopf.Periode = dbo.MPPerioden.PeriodeJahr
LEFT OUTER JOIN dbo.MP_USER_Retainers AS T2 ON dbo.MPVKVertraege.VertragsID= T2.ContractNo
where DATEADD(MONTH,DATEDIFF(MONTH,-1,GETDATE())-1, -1)
order by dbo.MPProjektBuchungskopf.Periode
答案 0 :(得分:0)
您错过了检查where
子句
WHERE Dateadd(MONTH,Datediff(MONTH,-1,Getdate())-1,-1) = somedatecolumn -- Missed
答案 1 :(得分:0)
where DATEADD(MONTH,DATEDIFF(MONTH,-1,GETDATE())-1, -1)
真的没什么意义。您需要评估或等同于另一个值。例如,
where dbo.mytable.mycolumn = DATEADD(MONTH,DATEDIFF(MONTH,-1,GETDATE())-1, -1)