Sql funktioniert im ServerExplorer aber nicht mit SqlCeCommand



  • Folgendes Sql funktioniert im ServerExplorer aber wenn ich versuche es mit SqlCeCommand auszuführen beschwerd er sich das er die Abfrage beim Where nicht
    analysieren kann.

    SELECT Category,ExteriorColor,StandTage, (100.0/(Verkauft+Unverkauft)) * Verkauft As Rating,Verkauft,Unverkauft
    FROM
    (
    	SELECT Category,ExteriorColor,StandTage,Sold.Anzahl AS Verkauft,Unsold.Anzahl AS Unverkauft
    	FROM
    	(
    		SELECT 		Category,ExteriorColor,'30' AS StandTage,COUNT(*) AS Anzahl
    		FROM 		Results
    		WHERE		(SellDate >= DATEADD(d,-30,GETDATE()))
    		GROUP BY	Category,ExteriorColor
    	) AS Sold
    	INNER JOIN
    	(
    		SELECT 	Category,ExteriorColor,'30' AS StandTage,COUNT(*) AS Anzahl
    		FROM 	Results
    		WHERE	(SellDate <= '01.01.53')
    		GROUP BY	Category,ExteriorColor
    	) AS Unsold
    	ON Sold.Category = Unsold.Category AND Sold.ExteriorColor = Unsold.ExteriorColor
    	UNION
    	SELECT Category,ExteriorColor,StandTage,Sold.Anzahl,Unsold.Anzahl
    	FROM
    	(
    		SELECT 		Category,ExteriorColor,'60' AS StandTage,COUNT(*) AS Anzahl
    		FROM 		Results
    		WHERE		(SellDate >= DATEADD(d,-60,GETDATE())) AND (ReadDate <DATEADD(d,-30,GETDATE()))
    		GROUP BY	Category,ExteriorColor
    	) AS Sold
    	INNER JOIN
    	(
    		SELECT 	Category,ExteriorColor,'60' AS StandTage,COUNT(*) AS Anzahl
    		FROM 	Results
    		WHERE	((SellDate <= '01.01.53') OR (SellDate >=DATEADD(d,-30,GETDATE())))AND (ReadDate <DATEADD(d,-30,GETDATE()))
    		GROUP BY	Category,ExteriorColor
    	) AS Unsold
    	ON Sold.Category = Unsold.Category AND Sold.ExteriorColor = Unsold.ExteriorColor
    	UNION
    	SELECT Category,ExteriorColor,StandTage,Sold.Anzahl,Unsold.Anzahl
    	FROM
    	(
    		SELECT 		Category,ExteriorColor,'90' AS StandTage,COUNT(*) AS Anzahl
    		FROM 		Results
    		WHERE		(SellDate >= DATEADD(d,-90,GETDATE())) AND (ReadDate <DATEADD(d,-60,GETDATE()))
    		GROUP BY	Category,ExteriorColor
    	) AS Sold
    	INNER JOIN
    	(
    		SELECT 	Category,ExteriorColor,'90' AS StandTage,COUNT(*) AS Anzahl
    		FROM 	Results
    		WHERE	((SellDate <= '01.01.53') OR (SellDate >=DATEADD(d,-60,GETDATE())))AND (ReadDate <DATEADD(d,-60,GETDATE()))
    		GROUP BY	Category,ExteriorColor
    	) AS Unsold
    	ON Sold.Category = Unsold.Category AND Sold.ExteriorColor = Unsold.ExteriorColor
    )
    WHERE NOT ExteriorColor IS NULL AND NOT ExteriorColor =''
    ORDER BY Category,ExteriorColor,StandTage
    


  • Im Server-Explorer auf new SQL-CE Connection, oder auf ner dicken SQL Connection?
    Und was bitte ist "d"?



  • d ist days für DateAdd und im Explorer ist es eine CE Verbindung



  • > d ist days für DateAdd
    *patsch*
    Ja, klar. Sorry 🙂

    > im Explorer ist es eine CE Verbindung
    Hm.
    Sicher dass sonst alles gleich ist? Gleiched DB File, gleiche Engine etc.?
    Und kannst du mal die ganze Fehlermeldung posten?
    (Ich weiss dass die bei SQL-CE nicht so toll aussagekräftig sind, aber vielleicht ist ja trotzdem noch ein Hinweis darin zu finden)


Anmelden zum Antworten